console.log(undefined === null) // false
console.log(undefined == null) // true
undefind: 변수만 선언하고, 값을 할당하지 않은 상태.
null: 변수를 선언하고, 빈 값을 할당한 상태.
- 두 차이는 무엇일까 ?
아래 코드블럭을 보자.
let x;
console.log(x); // undefined
let y = null;
console.log(y); // object
x와 y의 타입이 서로 다른 것을 볼 수 있다.
javascript에서는 return ; 이나, 몇몇 내장 메소드에서는 반환할 값이 없을 때 undefined를 반환한다. 얕은 비교(Shallow compare), 깊은 비교 시 차이가 있다.
console.log(undefined === null) // false
console.log(undefined == null) // true
위 차이 때문에 개발자 오류가 발생할 가능성이 있으니, 왠만하면 자바스크립트에서는 undefined를 사용하는 것이 안전할 것 같다.
Javascript MDN 에서는 null이 주로 사용되는 프로토타입에 대해 설명하고 있는데, 이건 다음 시간에 배워보도록 하자.
'개발 > Typescript' 카테고리의 다른 글
[TIL - Typescript] Truly, Falsy (1) | 2024.05.09 |
---|---|
[Typescript] JEST란? (단위 테스트 라이브러리) (0) | 2023.03.15 |
[TypeScript] 컴파일 방식에 대한 정리. (0) | 2023.03.08 |