null & undefined

2019. 10. 6. 19:45Frontend/javascript

e-commerce 회사에서 웹서버 개발을 하면서, javascript 를 시시콜콜하게 사용해왔다.

 

js 에 대한 내 고정관념 때문인지 다른 프레임워크나 언어 개발론을 공부하는 시간에 비해 js 에 소흘했고,

JS를 시간내서 공부해야 하는 지금 이 시점까지 왔다.ㅠㅠ

 

언어를 공부하기 시작하면 언어의 초반에 이 언어의 type 에 대해 한번 보게 되는데 

 

js 는 primitive type 으로 number, string, boolean, null, undefined 

 

reference type 으로 object 를 사용하는데 

이 object 로 array, function, regex 를 표현한다.

 

글을 읽으면서 먼저 막혔던 부분인 null & undefined 에 대해서 정리해보자.

 

이 두 타입 모두 JS 에서 '값이 비어있음'을 나타낸다. 자바스크립트 내에서 기본적으로 값이 할당되지 않은 변수는 undefined 타입이며, undefined 타입의 변수는 변수 자체의 값 또한 undefined 이다. 이처럼 JS 에서는 undefined 는 타입이자 값 임에 유의하자.

 

var undefined
//null 타입 변수 생성
var nullVar = null;

console.log(typeof nullVal === null); // false
console.log(nullVar === null)// true

 첫번째 출력은 nullVal  의 타입이 null 이냐 인데  이는 object 임에 유의하자. 

 

정리

undefined => 값이 할당되지 않은 변수의 타입이자 값.

null => 개발자가 명시적으로 값이 비어있음을 나타낼때 사용한다.