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를 반환하는 것입니다.