////
Search
💭

Undefined와 null의 차이점이 무엇인가요?

1. null

null 값은 일반적으로 존재하지 않거나 유효하지 않은 object 또는 주소를 의도적으로 가리키는 참조를 나타냅니다.
모든 객체는 null 값으로 부터 파생되며 따라서 typeof 연산자는 아래의 코드에서 object를 반환합니다.
typeof null === 'object' // true //null 타입을 확인할 때 일치 연산자(===)를 사용해야 함 var foo = 'Lee'; foo = null; // 참조 정보가 제거됨 //또는 함수 호출시 유효한 값을 반환할 수 없는 경우에 명시적으로 반환함
Plain Text
복사

2. undefined

undefined는 원시값으로, 선언한 후 값을 할당하지 않은 변수 혹은 값이 주어지지 않은 인수에 자동으로 할당됩니다.
객체 내부에 존재하지 않는 프로퍼티에 접근할 때와 return문이 없거나 호출되지 않는 함수일 때도 undefined 를 반환합니다.
var x; // 값을 할당하지 않고 변수 선언 console.log("x's value is", x) // "x's value is undefined" 출력 //개발자가 의도적으로 할당한 값이 아니라 자바스크립트엔진에 의해 초기화된 값
Plain Text
복사

3. null과 undefined의 차이

null 또는 undefined를 검사할 때, 동등 연산자(==)와 일치 연산자(===)의 차이를 주의하세요.
동등 연산자는 자료형 변환을 수행합니다.
typeof null // "object" (하위호환 유지를 위해 "null"이 아님) 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
Plain Text
복사
참고 :  65p~67p /  29p~34p