1. null
- null 값은 일반적으로 존재하지 않거나 유효하지 않은 object 또는 주소를 의도적으로 가리키는 참조를 나타냅니다.
- 모든 객체는 null 값으로 부터 파생되며 따라서 typeof 연산자는 아래의 코드에서 object를 반환합니다.
typeof null === 'object' // true
//null 타입을 확인할 때 일치 연산자(===)를 사용해야 함
var foo = 'Lee';
foo = null; // 참조 정보가 제거됨
//또는 함수 호출시 유효한 값을 반환할 수 없는 경우에 명시적으로 반환함
2. undefined
- undefined는 원시값으로, 선언한 후 값을 할당하지 않은 변수 혹은 값이 주어지지 않은 인수에 자동으로 할당됩니다.
- 객체 내부에 존재하지 않는 프로퍼티에 접근할 때와 return문이 없거나 호출되지 않는 함수일 때도 undefined 를 반환합니다.
var x; // 값을 할당하지 않고 변수 선언
console.log("x's value is", x) // "x's value is undefined" 출력
//개발자가 의도적으로 할당한 값이 아니라 자바스크립트엔진에 의해 초기화된 값
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
참고 : 🦎 65p~67p / 🐯 29p~34p
'2023 > 멋쟁이사자처럼_FE5' 카테고리의 다른 글
[JS] 이벤트 버블링, 캡쳐링에 대해 설명해주세요. (0) | 2023.05.03 |
---|---|
[JS] 호이스팅에 대해서 설명해보세요. (0) | 2023.05.03 |
[JS]참조형 데이터에 대해서 설명해보세요. (0) | 2023.05.03 |
[JS] 얕은 복사와 깊은 복사에 대해서 설명해보세요. (0) | 2023.05.02 |
[JS] Var, let, const의 차이에 대해서 설명하고, 호이스팅에 대해서 설명해보세요. (0) | 2023.05.02 |