null과 undefined의 차이

null과 undefined의 차이

null !== undefined! nullundefined는 다릅니다. nullundefined의 차이점에 대해 설명드리겠습니다.

null

null은 비어있거나 존재하지 않는 값입니다. 따라서 null을 할당하면 명시적으로 비어있는 값입니다.

1
2
var nullTest = null;
consloe.log(nullTest); // null

따라서 변수에 null을 할당하면 null이 출력됩니다.

1
2
var nullTest = null;
console.log(typeof nullTest); // object

추가로 null은 존재하지 않는 값임에도 타입은 object입니다. 이것은 javascript의 흥미로운 이슈 중 하나입니다.

undefined

undefined는 변수를 아직 할당하지 않았다는 것을 의미합니다. 변수는 선언되었지만 변수의 값을 할당하지 않으면 undefined입니다.

1
2
var undefinedTest;
console.log(undefinedTest); // undefined

따라서 변수를 선언 후 아무것도 할당하지 않았다면 undefined가 출력됩니다.

1
2
var undefinedTest;
console.log(typeof undefinedTest); // undefined

아무것도 할당하지 않는 변수의 타입은 null과는 다르게 undefined입니다.

추가로

1
2
console.log(null !== undefined); // true
console.log(null == undefined); // true

처음 설명에서 null !== undefinedtrue라고 설명드렸습니다. 하지만 null == undefined 또한 true입니다. 이는 nullundefined가 부정을 의미하기 때문에 의미가 같아 true를 반환하는 것입니다.

공유하기