undefined는 변수를 선언하고 값을 할당하지 않은 상태로, 자료형이 없는 상태라고 말할 수 있다. null은 변수를 선언하고 빈 값을 할당한 빈 객체이다.
typeof를 사용해 자료형을 확인해보면 null은 object로, undefined는 undefined로 출력되는 것을 확인할 수 있다.
typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true
undefined
원시값(Primitive Type)으로, 선언한 후에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당된다.
아래와 같은 경우가 undefined를 반환한다.
- 값을 할당하지 않은 변수
- 메서드와 선언에서 변수가 할당받지 않은 경우
- 함수가 값을 return하지 않았을 때
null
원시값중 하나로, 어떤 값이 '의도적으로 비어있음'을 표현한다. undefined는 값이 지정되지 않은 경우를 의미하지만, null의 경우에는 해당 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.
'Programming > Javascript, Typescript' 카테고리의 다른 글
Flow: type checker (0) | 2022.12.08 |
---|---|
[Typescript] 'No overload matches this call' 에러 (0) | 2022.11.03 |
[Javascript] Primitive Type(원시값) (0) | 2022.11.02 |
[Javascript] 화살표 함수 (0) | 2022.11.02 |
[Javascript] fetch와 axios 비교 (0) | 2022.11.02 |
댓글