[타입스크립트] null과 undefined의 차이점

Dan·2023년 3월 16일

null : 개발자가 의도적으로 '값이 없음'을 나타낸 것
undefined : 시스템이 아직 값이 할당되지 않았다는 상태값을 넣어준 것

Null

function foo (a: number | null) {
	매개변수 a가 number일때도, null일 때도 정상 처리되는 로직
}

=> 함수 인자 a 는 null도 괜찮은데 꼭 넣어줘야돼.

  • a(1) -> ok
  • a(null) -> ok
  • a() -> not ok

Undefined

// a: number | undefined는 a?:number와 같다. 
function foo (a: number | undefined) {
	a가 number일때도, undefined일 때도 정상 처리되는 로직
}
function foo (a?: number) {
	a가 number일때도, undefined일 때도 정상 처리되는 로직
}

=> 함수 인자 a를 넣고자 하면 number만 가능해. 없으면 넣지 않아도 돼.

  • a(1) -> ok
  • a(null) -> not ok
  • a() -> ok

0개의 댓글