728x90
let coder;
console.log(coder);
위와 같은 코드를 출력하면 어떤 값이 나올까 ?
바로 undefined 가 나온다.
변수를 선언 후에 초기값을 주어 주지 않았으니 당연히 정의되지않았다는 표시로 undefined라고 표현이된다.
null은 의도적으로 비어있는 값을 표현하고 싶을 때 null 을 넣는다.
let coder;
console.log(coder);
// undefined
coder = null;
console.log(coder);
//null
의미는 모두 값이 없다라는 것을 지칭하는 것이지만,
선언을 하고 값을 지정하지 않은 undefined 와 의도적으로 표현한 null인 것인지의 차이다.
비교문을 써서 비교해보면
console.log(x == y);
console.log(x === y);
위에는 비슷한 의미 임으로 true / 아래는 일치하지 않음 으로 false가 나온다.
물론 let x = undefined; 와 같이 사용할 수 있으나 뜻을 흐릴 수 있으니 사용을 권장해야 한다.
쉽게 나온 예시가 있었다, 물로 이해를 시키는 것인데, 코드로 살펴보자.
let cup;
cup = '물';
cup = null;
처음에 아무것도 없는 빈 컵을 가져온 것이기 때문에 undefined라고 할 수 있다.
그 컵에 물을 채우고 난 후 물을 마시면 물이 사라지기 때문에 null값이 된다.
결국은
undefined : 처음부터 없음
null : 의도적으로 없음!
728x90
'JavaScript' 카테고리의 다른 글
자바스크립트의 객체 (object) (0) | 2020.08.26 |
---|---|
피보나치 수열 - JS풀이 (0) | 2020.08.26 |
템플릿 문자열 (0) | 2020.08.25 |
Javascript 내장객체 (0) | 2020.03.27 |
[Do it] Javascript 반복문 ( 구구단 출력 ) (2) | 2020.03.26 |