null과 undefined의 차이
null !== undefined
! null
과 undefined
는 다릅니다. null
과 undefined
의 차이점에 대해 설명드리겠습니다.
null
null
은 비어있거나 존재하지 않는 값입니다. 따라서 null
을 할당하면 명시적으로 비어있는 값입니다.
1 | var nullTest = null; |
따라서 변수에 null
을 할당하면 null
이 출력됩니다.
1 | var nullTest = null; |
추가로 null
은 존재하지 않는 값임에도 타입은 object
입니다. 이것은 javascript
의 흥미로운 이슈 중 하나입니다.
undefined
undefined
는 변수를 아직 할당하지 않았다는 것을 의미합니다. 변수는 선언되었지만 변수의 값을 할당하지 않으면 undefined
입니다.
1 | var undefinedTest; |
따라서 변수를 선언 후 아무것도 할당하지 않았다면 undefined
가 출력됩니다.
1 | var undefinedTest; |
아무것도 할당하지 않는 변수의 타입은 null
과는 다르게 undefined
입니다.
추가로
1 | console.log(null !== undefined); // true |
처음 설명에서 null !== undefined
는 true
라고 설명드렸습니다. 하지만 null == undefined
또한 true
입니다. 이는 null
과 undefined
가 부정을 의미하기 때문에 의미가 같아 true
를 반환하는 것입니다.