undefined
변수를 선언하면 자동으로 undefined 값이 할당된다. 그러므로 undefined는 아직 값을 따로 할당하지 않았다는 표시이다. undefined도 값이니 이렇게 기본적으로 할당되는 undefined 외에도 당연히 변수에 undefined을 할당할 수 있다. 하지만 값을 아직 할당하지 않은건지 undefined를 의도적으로 할당해준건지 구분하기 힘드므로 권장하지 않는다. 그래서 둘을 구분하기 위해 null이 필요하다.
typeof 연산자를 통해 타입을 확인하면 undefined는 undefined 타입이다.
null
아무 값도 가지고 있지 않다고 표시해주고 싶은데 undefined를 할당하자니 아직 초기값을 설정해주지 않은 변수와의 구별이 어렵다. 그럴 때에는 null값을 할당해주면 된다. null값을 변수가 가지는 방법은 의도적으로 null 값을 줄 때만 가능하기 때문이다. typeof 연산자를 통해 타입을 확인하면 object 타입이다. 하지만 프로퍼티의 타입도 object이다.
따라서 어떤 변수가 프로퍼티 값을 가졌는지 null값을 가졌는지 구분하기 힘들다는 문제가 있다.
'Front-end > Javascript' 카테고리의 다른 글
[JS] Javascript에서 Enum 사용하기 (0) | 2022.08.19 |
---|---|
[JS] 올림, 반올림, 내림 (ceil, round, floor) / 특정 자리수까지 0 채우기 (0) | 2022.08.08 |
[JS] onInput 이벤트 - 입력한 글자 실시간으로 화면에 출력하기 (0) | 2022.02.22 |
[JS] prototype 참고글 (0) | 2021.09.26 |
[JS] String 오브젝트에 굳이 toString()이 있는 이유 (0) | 2021.09.25 |