[TypeScript] 함수 타입 이용(spread, default, optional)

수민🐣·2022년 11월 9일
0

TypeScript

목록 보기
5/16

Optional parameter ?

꼭 전달하지 않아도 되는 인자가 있을 경우 '?'를 작성

function printName(firstName: string, lasetName?: string) {
	console.log(firstName);
	console.log(lasetName); // 전달하지 않으면 undefined
}
printName('Steve', 'Jobs');
printName('Steve');
printName('Steve', undefined);
const point: {x:number, y?:number} = {x:1, y:1};

const point: {x:number, y?:number} = {x:1}; // y 프로퍼티가 옵셔널, 에러 발생 X
const point: {x:number, y?:number} = {x:1, y:"1"}; // y의 value가 다름, 에러


function sum(x:number, y?:number) {
	return x + (y || 0)
}

Default parameter

전달하지 않으면 설정해둔 default 값이 들어감

function printMessage(message: string = 'default message') {
	console.log(message)
}
printMessage()

Rest parameter

인자 개수 제한 없으며 인자들을 배열 형태로 받아올 수 있음

function addNumbers(...numbers: number[]): number {
	return numbers.reduce((a, b) => a + b);
}
console.log(addNumbers(1, 2));
console.log(addNumbers(1, 2, 3, 4));
console.log(addNumbers(1, 2, 3, 4, 5, 0));

0개의 댓글