[JavaScript] 8. undefined, null

Eden·2024년 12월 23일
1

Javascript

목록 보기
34/34

Undefined

undefined는 보통 반환할 결과가 없을때 돌려주는 값이다. console.log 명령어는 콘솔에 무언가를 출력하지만, 그 자체로는 결과 값이 없기 때문에 undefined 가 반환된다.

typeof undefined;
>"undefined"

undefined도 자료형이다.

!!undefined;
>false

단, undefined랑 false가 같지 않다. 다른 거짓 값도 마찬가지다.

undefined == false;
>false

undefined == 0;
>false

undefined == '';
>false

Null

다른 자료형으로는 null 이 있다. undefined 처럼 빈 값을 의미하지만 같지는 않다.

undefined == null;
>true

빈 값이라는 점에서 같지만, 자료형까지 비교하면 다르다.

undefined === null;
>false

undefined와 마찬가지로 null의 boolean값도 형 변환할 때 false가 된다.

!!null;
>false

하지만 null은 false가 아니다.

null == false;
>false

null == 0;
>false

null == '';
>false

null의 자료형을 typeof로 확인했을 때 특이한 것을 발견할 수 있다.

typeof null;
>"objecct"

결과 값이 “null”이 아니라 “object”다. 이 현상은 자바스크립트에서 유명한 버그다.

원래는 null 값이 나와야하지만, 언어가 만들어진 초창기 실수 때문에 “object”가 되었다..

그 이후로는 바꿀 수 없게 되었슴다…. 따라서 값이 null인지 확인하기 위해서는 === null 을 사용해야 한다!

null과 undefined는 둘 다 빈 값이라서 어떨 때 사용하는지 헷갈릴 수 있다. undefined는 기본값이라는 의미라도 있는데, null은 역할이 없다.

profile
Frontend🌐 and iOS

0개의 댓글

관련 채용 정보