이름과 직업을 인자로 받는 함수가 있다고 가정해보자. 이름은 필수적으로 받아야하고 직업은 없어도 되는 인자이다.
const func = (name: string, job?:string ) =>{ console.log(`${name} ${job}`) } func('김개발') // 김개발 undefined func('김개발', '개발자') // 김개발 개발자
이렇게 job?:string과 같이 있어도 되고 없어도 되는 매개변수를 선택적 매개변수라고 한다.
잡 인자에 기본 값으로 "학생"을 주면
const func = (name: string, job:string = "학생" ) =>{ console.log(`${name} ${job}`) } // 타입 설정과 기본값을 동시에 할당하지 않아도 타입 추론을 통해 string 이란 걸 알 수있으니 const func = (name: string, job = "학생" ) =>{ console.log(`${name} ${job}`) }
이렇게 수정해주자!
이렇게 job = "학생" 과 같이 매개변수의 기본값을 주면 기본 매개변수 (Default Parameter)라고 한다.
정리
선택적 매개변수 (Optional Parameter)
job?: string
기본 매개변수 (Default Parameter)
job = "학생"