Null vs Undefined

박한솔·2021년 6월 8일
0

출처 : https://javascript.plainenglish.io/null-and-es2020-optional-chaining-and-null-coalescing-e62e31fb0240

여기 두 휴지걸이가 있다. 하나는 휴지가 아예 없는 휴지걸이와 휴지가 다 떨어진 휴지걸이. 둘다 종이휴지가 없는 상황이지만 아예 다르다고 할 수 있다. 여기에서 null과 undefined가 나뉜다.

Null

종이휴지가 없는 상태, 하지만 갈색 막대(?) 부분도 엄연한 휴지 중 하나다. 이처럼 값이 "없다"라고 "정의"가 된 값이 null이다.

null은 최초 변수에서 null로 정의하게 된다. null도 하나의 고유한 값이며 변수에 null이라고 정의를 해야 표현할 수 있다.

let isNull;

console.log(isNull);//undefined

isNull = null;

console.log(isNull); //null

또한 typeof로 null을 검사해보면 object인 값이 나온다. null도 값이라는 뜻이다. 단 value가 없다는 것을 명시해줄 뿐이다.

undefined

휴지라는 것이 아예 존재하지 않을 때는 휴지가 다 떨어졌다고 하는 것이 아닌 휴지가 없다고 하는 것이 맞다. 아예 휴지가 없는 상태, 이것을 undefined라고 한다.

let money;

console.log(money); //undefined

변수는 선언하였지만 값을 할당하지 않은 경우 전역에서는 초깃값으로 undefined를 할당해주게 된다. undefined는 undefined의 값을 가지고 있다.

흔히 테스트 케이스를 돌려보면 많이 볼 수 있는 결과값인데 존재하지 객체값을 읽으려고 할 때, 배열에서 없는 값을 지정할 때 값이 없다는 의미에서 undefined를 return해주게 된다.

profile
치열하게, 하지만 즐겁게

0개의 댓글