[CleanCode JS] undefined? null?

Melon Coder·2023년 10월 21일
0

Javascript

목록 보기
4/6

javascript에서 undefined와 null의 차이가 헷갈렸는데 유명한 사진을 보고 차이를 확연하게 알 수 있었다.

undefined는 아무것도 지정하지 않았을 때의 기본 값이라고 볼 수 있다.
예를 들어 다음과 같은 상황이다.

// 선언은 했지만 값은 정의되지 않고 할당이 되지 않은 상황
let varb;

typeof varb -> undefined

그럼 다시 null과 비교하면 다음과 같이 obejct가 나온다.

let varb = null; -> object

undefined로 산수를 해보면?

undefined + 10 -> NAN

Not A Number가 나오게 된다.


다음은 null에 대한 코드이다.

!null -> true
!!null -> false

null === false -> false
!null === true -> true

이 코드만 봐도 어지럽다...
( !! 은 형변환 연산자로, 값을 불리언 (Boolean) 값으로 변환한다. )

심지어 js에서 수학 연산으로서의 null은 0 으로 표현된다.

이것이 바로 undefined와의 차이라고 볼 수 있다.

0개의 댓글