JavaScript에는 값의 부재를 나타내는 여러 가지 방법이 있습니다. 이 페이지
은 가장 일반적인 두 가지 방법인 null
및 undefined
데이터 유형을 설명합니다.
null
null
키워드는 의도적으로 정의된 값 부재를 나타냅니다. null
는 프리미티브이지만 typeof
연산자는 null
가 객체임을 반환합니다.
이 오류는
이전 버전과 호환되지 않으며 의도적으로
웹 전체에서 예상되는 동작이 중단되지 않도록 합니다.
typeof null
> object
변수를 null
로 정의할 수 있습니다.
어느 시점에서든 할당된 값을 반영하거나
명시적으로 없는 값을 반환할 수 있습니다. 또한 null
값을 기존 참조에 추가하여 이전 값을 지웁니다.
undefined
undefined
는 변수에 할당된 원시 값입니다.
호출하려는 작업의 결과 값에 대하여
의미 있는 값을 반환하지 않습니다. 예를 들어
함수를 실행할 수 있습니다.
function myFunction() {}
> undefined
함수는 return
문일 때 명시적으로 undefined
를 반환합니다.
는 값을 반환하지 않습니다.
(function() {
return;
}());
> undefined
null
및 undefined
비교
undefined
와 null
는 일부 기능적으로 중복되지만
사용할 수 있습니다 가장 엄격히 말해 null
는 값을 나타냅니다.
'blank'로 정의될 경우 undefined
은 할당된 값이 없음을 나타냅니다.
null
와 undefined
는 약간 같지만 엄격하게 같지는 않습니다.
느슨한 등호 연산자는 다양한 유형의 피연산자를 불리언으로 강제 변환함
null
및 undefined
가 모두 false
이 됩니다. 엄격한 등호 연산자
는 서로 다른 데이터 유형의 피연산자를 같지 않다고 간주합니다.
null == undefined
> true
null === undefined
> false
예약된 키워드 null
와 달리 undefined
는
전역 객체. 이것은 디자인이었음
개발 초기에 결정이 내려졌으며 기존 브라우저에서는
undefined
을(를) 완전히 덮어씁니다. 최신 브라우저에서도
undefined
를 비전역 범위의 식별자로 사용하여 다음 내에서 값을 재정의함
해당 선언의 범위에 속해야 합니다. undefined
를 식별자로 사용하면 안 됩니다. 그것은
예상치 못한 동작을 야기할 수 있으며 향후 운영자에게 혼란을 줄 수 있습니다.
제공합니다
이해도 확인
typeof null
는 무엇을 반환하나요?
object
undefined
primitive
string