JavaScript에서 null, 정의되지 않음 및 선언되지 않은 변수의 차이점은 무엇입니까?
8905 단어 webdevnodebeginnersjavascript
ReferenceError
.null
및 undefined
는 JS 프리미티브이며 유형 및 나타내는 값 측면에서 서로 다릅니다. 그러나 Undeclared는 JavaScript 키워드가 아닌 일반 영어입니다.차이점
null
와 undefined
변수 사이에는 여러 가지 차이점이 있습니다.null
값의 유형은 object
인 반면 undefined
변수는 undefined
유형입니다. null
는 값의 존재를 나타내지만 의도적으로 개체가 없음(따라서 object
유형), undefined
변수는 값이 없음을 나타냅니다. null
를 변수에 할당해야 합니다. 반대로 undefined
는 선언 시 자동으로 설정되며 명시적으로 할당할 수도 있습니다. 선언되지 않은 변수는 JavaScript가 선언되지 않은 변수를 처리하는 방식에서
null
및 undefined
와 다릅니다. 선언되지 않은 변수는 ReferenceError
를 발생시키지만 해당 유형은 실제로 undefined
입니다.console.log(x); // Uncaught ReferenceError: x is not defined
console.log(typeof x); // undefined
여기서
typeof x
가 평가되지 않기 때문에 x
가 오류를 발생시키지 않는 방법에 주목하십시오.확인 중
허위
null
및 undefined
는 일부 값 유형이 없음을 음수로 나타냅니다. 따라서 falsy
값이 아니라 truthy
라고 합니다.변수가
null
인지 undefined
인지 결정하려면 falsy
값을 가져와야 합니다. 즉, truthy
가 아닙니다. 일반적으로 변수는 진실성을 테스트하고 실패하면 falsy
, 즉 null
또는 undefined
입니다.let x;
if (x) {
console.log(`Hi, this is ${x}.`);
} else {
console.log(x); // undefined
};
x = null;
if (x) {
console.log(`Hi, this is ${x}.`);
} else {
console.log(`Now I'm ${x}`); // Now I'm null.
};
변수의
null
상태와 undefined
상태 사이를 결정하려면 완전 항등 연산자===
로 변수를 테스트해야 합니다.let x;
if (x === undefined) {
console.log(`Hi, this is ${x}.`); // Hi, this is undefined.
} else {
console.log(x);
};
x = null;
if (x === null) {
console.log(`Hi, this is ${x}.`); // Hi, this is null.
} else {
console.log(x);
};
이는 표준 항등 연산자
==
가 둘 중 하나를 결정하는 데 모호하기 때문입니다. 이 두 값 중 하나에 대해 true
를 반환합니다.let x;
if (x == null) {
console.log(`Hi, this is ${x}.`); // Hi, this is undefined.
} else {
console.log(x);
};
x = null;
if (x == undefined) {
console.log(`Hi, this is ${x}.`); // Hi, this is null.
} else {
console.log(x);
};
x == null
는 true
에 대해 x = undefined
를 반환하고 x == undefined
는 true
에 대해 x = null
를 반환합니다. 정신이 없습니다.미신고
전역 범위에서 선언되지 않은 변수는 다음을 사용하여
ReferenceError
를 발생시키지 않고 확인할 수 있습니다.if ( 'x' in window) {
console.log('Hi');
} else {
console.log(`Hi, x doesn't live here.`); // Hi, x doesn't live here.
};
참조
Reference
이 문제에 관하여(JavaScript에서 null, 정의되지 않음 및 선언되지 않은 변수의 차이점은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anewman15/in-javascript-whats-the-difference-between-a-variable-that-is-null-undefined-and-undeclared-j1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)