타입스크립트에선 함수의 매개변수를 선택 매개변수로 지정할 수 있다.
선택 매개변수로 지정된 매개변수는 함수 호출 시 선택 매개변수의 인자를 전달해주지 않아도 타입 에러가 발생하지 않는다.
매개변수?
식으로 매개변수의 오른쪽에 물음표를 붙여서 선택 매개변수
로 만들 수 있다.
반드시 input으로 받을 매개변수를 정의할 때, 선택 매개변수를 마지막 자리에 나열해야 한다. 이를 지키지 않을 시 타입에러가 발생하는데, 이를 해결하기 위해선 rule2의 유니언 방식을 사용하여 선택 매개변수를 정의해 주어야 한다.
하지만 사용성과 가독성의 저하로, 매개변수가 많은 경우에는 비구조화 문법을 사용하여 명명된 매개변수
를 작성하는 것이 좋다.
rule1 : ?
var funcName = (input1: input Type,
input2?
: input Type ): returnType {
...
}rule2 : 유니언
var funcName = (input1: input Type,
input2 : input Type | undefined
, input3: input Type ): returnType {
...
}code ex
function getInfoUser( name: string, age: number, addr: string ): string { return `name: ${name}, age: ${age}, address:${addr}`; } console.log( getInfoUser('horiz.d',23) )
[LOG]: "name: seongwoo, age: 27, address:undefined"