지긋지긋한 undefined와 null과의 싸움을 이어나가고 있다...
미치겠다...
그러다가 문득 나를 미치게하는 저 두 존재의 차이가 궁금해져서 글을 남겨봄.
typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true
typeof를 이용하여 타입을 확인해보면,
null은 객체형, undefined는 undefined형이다.
이렇게 봐선 무슨차이인지 실감이 안나서 더 찾아봤다
이놈은 말 그대로 '정의되지 않음'을 뜻한다. 값이 없을때, 리턴된 값이 없을 때 컴파일러는 undefined를 토한다
참고로 undefined는 변수값에도 할당이 가능하다는데 돌아버리기 싫으면 안하는게 좋다