이 두 타입은 모두 자바스크립트에서 '값이 비어있음'을 나타낸다.
기본적으로 값이 할당되지 않은 변수는 undefined타입이며 undefined 타입의 변수는 변수 자체의 값 또한 undefined이다.
var emptyVar;
var nullVar = null;
console.log(emptyVar); // undefined
console.log(nullVar); // null
console.log(typeof nullVar) // object
여기서 주의할 것은 nullVar의 typeof의 결과가 object 라는 것이다.
var foo = new Object(); // foo 객체 생성
//foo 객체 프로퍼티 생성
foo.name = 'foo';
foo.age = 30;
var foo={
name : 'foo',
age : 30
}
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
speak(){
console.log('${this.name}: hello!');
}
}
NaN은 수치 연산을해서 정상적인 값을 얻지 못할 때 출력되는 값이다.
가령, 1 - 'HELLO'라는 연산의 결과는 NaN이다. 이유는 숫자와 문자열을 빼는 연산을 했기 때문이다.