반응형
자바스크립트에서 '없음'을 나타내는 두 가지 값이 있다.
둘의 차이점을 알아보았다.
let name1; // 변수를 선언하면 컴퓨터는 메모리의 빈 공간에 식별자를 할당하고 자동으로 undefined를 저장한다.
let name2 = null; // 사용자가 명시적으로 '없음'을 표현하기 위해 대입한 값.
console.log(name1);
// 결과: undefined
console.log(name2);
// 결과: null
console.log(null == undefined);
// 결과: true
console.log(null === undefined);
// 결과: false
/* 동등 연산자(equality operator, ==)로는 어떤 변수가 null인지 undefined인지 판별 불가.
둘다 값이 없어서 서로 같다고 나온다.
(엄격)일치 연산자(identity operator, ===)로 판별 가능
*/
console.log(typeof null);
// 결과: object
console.log(typeof undefined);
// 결과: undefined
/* type of null이 object로 나오는데, null은 객체 아님. 자바스크립트 자체 오류임
어떤 값이 null인지 알아보기 위해서는 typeof대신 엄격일치연산자를 사용해야 한다.
*/
null값을 확인할 때는 ===연산자를 활용하고,
값이 없음을 명시적으로 표현할 때는 null을 사용한다.
-> undefined는 값이 대입되지 않았을때 자바스크립트에서 자동으로 할당할 때만 존재하도록!
반응형
'JavaScript' 카테고리의 다른 글
자바스크립트 | 속성 접근자 .(dot notation), [](bracket notation) (0) | 2022.06.18 |
---|---|
자바스크립트 문자열 합치기 + 자동 형변환, 명시적 형변환 (0) | 2022.05.30 |
자바스크립트 NaN (0) | 2022.05.27 |
자바스크립트 변수선언 const / let / var (0) | 2022.05.25 |
자바스크립트 세미콜론(;) (0) | 2022.05.25 |