Optional Property(선택적 프로퍼티)

사용 시기

  • 인터페이스의 프로퍼티는 반드시 구현해야 하는데,
    프로퍼티가 선택적으로 필요한 경우가 있을 수 있다.

사용 방법

  • Optional Property(선택적 프로퍼티)는 프로퍼티명 뒤에 ?를 붙인다.
  • 함수를 호출할 때 생략 가능한 프로퍼티를 의미한다.
  • ? 가 붙은 프로퍼티는 넣어도 안 넣어도 함수의 호출에 문제가 없다.

사용시 좋은 점

  1. 함수 내부에서 해당하는 프토퍼티의 유무를 검사하여 다른 동작을 수행할 수 있다.
  2. 사용 가능한 프로퍼티를 한 눈에 파악할 수 있다.

예시

1
2
3
4
5
6
7
8
9
function cook(ingredient: any, sugar?: boolean) {
if (salt) {
// ...
}
// ...
}

cook({ onion: "many", wather: "some" }); // OK
cook({ onion: "many", water: "some" }, false); // OK

참고 링크