선택적 매개변수(뒤에 ?연산자 붙인 매개변수)는 그 값이 undefined로 고정된다.
만약 함수 호출 시 인수를 전달하지 않더라도 매개변수에 어떤 값을 설정하고 싶다면 매개변수의 기본값을 지정할 수 있다.
이를 디폴트 매개변수라고 하고, 다음과 같은 형태로 사용된다.
(매개변수: 타입 = 매개변수 기본값)
타입스크립트는 매개변수의 이름과 똑같은 이름의 속성을 가진 객체를 만들 수 있다.
이때 속성값 부분을 생략할 수 있는 단축 구문을 제공한다.
const makePerson = (name: string, age: number) => {
const person = {name, age} // {name: name, age: age} 의 단축 표현
}
화살표 함수에서 객채를 반환하고자 할때 다음과 같이 객체를 소괄호로 감싸주어야 한다.
const makePerson = (name: string, age: number): Person => ({name, age})
ESNext 자바스크립트에서 다음과 같은 코드를 작성하여 객체를 생성할 수 있다.
const makeObj = (key, value) => ({[key]: value})
타입스크립트에서는 이를 다음과 같은 형태로 명시한다.
type key = {
[key: string]: string
}