javascript의 null은 JS에서 제공하는 특수 값으로, javascript에서는 "missingObject === null;"과 같은 검사 문을 사용하여 엄격한 동등 연산자를 사용하여 null 값을 확인할 수 있습니다.
이 기사의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, DELL G3 컴퓨터.
자바스크립트에서 null은 무엇인가요?
JavaScript의 null에 대한 모든 것
JavaScript에는 기본 유형(문자열, 부울 숫자, 기호)과 객체의 두 가지 유형이 있습니다.
개체는 복잡 데이터 구조 이며, JS에서 가장 간단한 개체는 일반 개체입니다. 키 집합 및 관련 값 :
let myObject = { name: '前端小智' }
그러나 어떤 경우에는 개체 를 만들 수 없습니다. 이 경우 JS는 객체가 누락되었음을 나타내는 특수 값 null
을 제공합니다. null
—表示缺少对象。
let myObject = null
值 null 特指对象的值未设置,它是 JS 基本类型 之一,在布尔运算中被认为是falsy。
例如,函数greetObject()创建对象,但是在无法创建对象时也可以返回null:
function greetObject(who) { if (!who) { return null; } return { message: `Hello, ${who}!` }; } greetObject('Eric'); // => { message: 'Hello, Eric!' } greetObject(); // => null
但是,在不带参数的情况下调用函数greetObject() 时,该函数返回null
。 返回nul
l是合理的,因为who
参数没有值。
检查null
值的好方法是使用严格相等运算符:
const missingObject = null; const existingObject = { message: 'Hello!' }; missingObject === null; // => true existingObject === null; // => false
missingObject === null
的结果为true
,因为missingObject
变量包含一个null
值。
如果变量包含非空值(例如对象),则表达式existObject === null
的计算结果为false
。
null
与false、0、''、undefined、NaN
都是虚值
。如果在条件语句中遇到虚值,那么 JS 将把虚值强制为false
。
Boolean(null); // => false if (null) { console.log('null is truthy') } else { console.log('null is falsy') }
type null
的结果是什么
typeof null; // => 'object'
为什么是'object',typoef null
为object是早期 JS 实现中的一个错误。
要使用typeof运算符
检测null
值。 如前所述,使用严格等于运算符myVar === null
。
如果我们想使用typeof
运算符检查变量是否是对象,还需要排除null
值:
function isObject(object) { return typeof object === 'object' && object !== null; } isObject({ prop: 'Value' }); // => true isObject(15); // => false isObject(null); // => false
null
经常会在我们认为该变量是对象的情况下意外出现。然后,如果从null中提取属性,JS 会抛出一个错误。
所以说我么你想要从一个对象上取属性的时候,要注意判断这个对象可能是null
, 要不然的话可能会出错。
【推荐学习:《javascript基础教程》】
当无法构造对象时,我们通常的做法是返回null
,但是这种做法有缺点。在执行堆栈中出现null
时,刚必须进行检查。
尝试避免返回 null
的做法:
null
null
undefined
是未初始化的变量或对象属性的值null
和undefined
之间的主要区别是,null
表示丢失的对象,而undefined
rrreee
null 값은 구체적으로 object의 값이 설정되지 않은 것을 의미합니다. JS는 부울 연산에 사용됩니다. 거짓이라고 생각하세요.
예를 들어, GreetingObject() 함수는 객체를 생성하지만 객체를 생성할 수 없는 경우 null을 반환할 수도 있습니다. rrreee
그러나 GreetingObject() 함수가 매개 변수 없이 호출되면 함수는null을 반환합니다. . <code>who
매개변수에 값이 없으므로 nul
l을 반환하는 것이 합리적입니다. 🎜null
값을 확인하는 좋은 방법은 🎜엄격한 같음을 사용하는 것입니다. 연산자🎜: 🎜rrreee🎜missingObject
변수에 null
가 포함되어 있으므로 >missingObject === null의 결과는 true
입니다. > 가치. 🎜🎜변수에 null이 아닌 값(예: 객체)이 포함된 경우 existObject === null
표현식은 false
로 평가됩니다. 🎜null
및 false, 0, '', 정의되지 않음, NaN모두 <code>더미 값
입니다. 조건문에서 false 값이 발견되면 JS는 false 값을 false
로 강제 설정합니다. 🎜rrreeetype null
의 결과는 무엇입니까🎜rrreee🎜'object', typoef null은 왜입니까? 객체는 초기 JS 구현의 🎜버그🎜입니다. 🎜🎜 <code>typeof 연산자
를 사용하여 null
값을 감지합니다. 앞에서 언급한 것처럼 엄격한 항등 연산자 myVar === null
을 사용하세요. 🎜🎜 typeof
연산자를 사용하여 변수가 객체인지 확인하려면 null
값도 제외해야 합니다. 🎜rrreeenull
트랩은 변수가 객체라고 생각할 때 예기치 않게 나타나는 경우가 많습니다. 그런 다음 null에서 속성을 추출하면 JS에서 오류가 발생합니다. 🎜그러므로 객체에서 속성을 얻으려면 해당 객체가 null
일 수도 있고, 그렇지 않으면 오류가 발생할 수 있다는 점을 주의해서 판단해야 합니다. 🎜🎜【추천 학습: "🎜javascript 기본 튜토리얼🎜"]🎜null
을 반환하는 것이지만 이 접근 방식에는 🎜 단점 🎜이 있습니다. 실행 스택에 null
이 나타나면 검사를 수행해야 합니다. 🎜🎜null
반환을 방지하세요. 🎜null
대신 기본 개체를 반환합니다.정의되지 않음
은 🎜 🎜 변수 🎜 또는 🎜 객체 속성 🎜 🎜의 값 초기화 null
과 undefine
의 주요 차이점은 null
이 누락된 객체를 나타낸다는 것입니다. , undefine
은 초기화되지 않은 상태를 나타냅니다. 🎜🎜🎜팁: 글 작성 후 자동으로 목차를 생성할 수 있습니다. 생성 방법은 오른쪽 도움말 문서를 참조하세요🎜🎜🎜🎜🎜🎜위 내용은 자바스크립트에서 null은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!