Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist in Javascript null?

Was ist in Javascript null?

藏色散人
Freigeben: 2023-01-07 11:46:20
Original
9255 Leute haben es durchsucht

null in Javascript ist ein spezieller Wert, der von JS bereitgestellt wird und ein fehlendes Objekt anzeigt. In Javascript können Sie den strikten Gleichheitsoperator verwenden, um den Nullwert mit einer Prüfanweisung wie „missingObject === null;“ zu überprüfen.

Was ist in Javascript null?

Die Betriebsumgebung dieses Artikels: Windows 7-System, JavaScript-Version 1.8.5, DELL G3-Computer.

Was ist null in Javascript?

Alles über Null in JavaScript

JavaScript hat zwei Typen: Grundtypen (String, boolesche Zahl, Symbol) und Objekte.
Objekte sind komplexe Datenstrukturen , die einfachsten Objekte in JS sind gewöhnliche Objekte: eine Reihe von Schlüsseln und zugehörige Werte :

let myObject = {
  name: '前端小智'
}
Nach dem Login kopieren

Aber in einigen Fällen kann das Objekt nicht erstellt werden. In diesem Fall stellt JS einen speziellen Wert null bereit – der angibt, dass das Objekt fehlt. null —表示缺少对象。

let myObject = null
Nach dem Login kopieren

1. null的概念

值 null 特指对象的值未设置,它是 JS 基本类型 之一,在布尔运算中被认为是falsy。

例如,函数greetObject()创建对象,但是在无法创建对象时也可以返回null:

function greetObject(who) {
  if (!who) {
    return null;
  }
  return { message: `Hello, ${who}!` };
}

greetObject('Eric'); // => { message: 'Hello, Eric!' }
greetObject();       // => null
Nach dem Login kopieren

但是,在不带参数的情况下调用函数greetObject() 时,该函数返回null。 返回null是合理的,因为who参数没有值。

2. 如何检查null

检查null值的好方法是使用严格相等运算符

const missingObject = null;
const existingObject = { message: 'Hello!' };

missingObject  === null; // => true
existingObject === null; // => false
Nach dem Login kopieren

missingObject === null的结果为true,因为missingObject变量包含一个null 值。

如果变量包含非空值(例如对象),则表达式existObject === null 的计算结果为false

2.1 null 是虚值

nullfalse、0、''、undefined、NaN都是虚值。如果在条件语句中遇到虚值,那么 JS 将把虚值强制为false

Boolean(null); // => false

if (null) {
  console.log('null is truthy')
} else {
  console.log('null is falsy')
}
Nach dem Login kopieren

2.2 typeof null

type null的结果是什么

typeof null; // => 'object'
Nach dem Login kopieren

为什么是'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
Nach dem Login kopieren

3. null 的陷阱

null经常会在我们认为该变量是对象的情况下意外出现。然后,如果从null中提取属性,JS 会抛出一个错误。
所以说我么你想要从一个对象上取属性的时候,要注意判断这个对象可能是null, 要不然的话可能会出错。

【推荐学习:《javascript基础教程》】

4. null 的替代方法

当无法构造对象时,我们通常的做法是返回null,但是这种做法有缺点。在执行堆栈中出现null时,刚必须进行检查。

尝试避免返回 null 的做法:

  • 返回默认对象而不是null
  • 抛出错误而不是返回null

5. null vs undefined

undefined是未初始化变量对象属性的值
nullundefined之间的主要区别是,null表示丢失的对象,而undefinedrrreee

1. Das Konzept von null

Der Wert null bezieht sich speziell auf den Wert des Objekts, das nicht festgelegt wird. Es ist einer der Grundtypen von JS und wird in booleschen Operationen verwendet. Ich denke, es ist falsch.

Zum Beispiel erstellt die Funktion „greetObject()“ ein Objekt, kann aber auch null zurückgeben, wenn das Objekt nicht erstellt werden kann: rrreee Wenn die Funktion „greetObject()“ jedoch ohne Parameter aufgerufen wird, gibt die Funktion null zurück . Die Rückgabe von <code>null ist sinnvoll, da der Parameter who keinen Wert hat.

2. So prüfen Sie auf Null

🎜Eine gute Möglichkeit, auf einen null-Wert zu prüfen, ist die Verwendung der 🎜strikten Gleichheit Operator🎜: 🎜rrreee🎜missingObject === null ist true, da die Variable missingObject einen nullenthält > Wert. 🎜🎜Wenn die Variable einen Wert ungleich Null enthält (z. B. ein Objekt), wird der Ausdruck existObject === null als false ausgewertet. 🎜

2.1 null ist ein imaginärer Wert

🎜null und false, 0, '', undefiniert, NaNDas sind alles <code>Dummy-Werte. Wenn in einer bedingten Anweisung ein falscher Wert auftritt, erzwingt JS den falschen Wert auf false. 🎜rrreee

2.2 typeof null

🎜Was ist das Ergebnis von type null🎜rrreee🎜Warum ist 'object', typoef null? ist ein „Fehler“ in frühen JS-Implementierungen. 🎜🎜Um den <code>typeof-Operator zu verwenden, um null-Werte zu erkennen. Wie bereits erwähnt, verwenden Sie den strikten Gleichheitsoperator myVar === null. 🎜🎜Wenn wir den Operator typeof verwenden möchten, um zu prüfen, ob eine Variable ein Objekt ist, müssen wir auch null-Werte ausschließen: 🎜rrreee

3. Die Falle von null

🎜null erscheint oft unerwartet, wenn wir denken, dass die Variable ein Objekt ist. Wenn Sie dann die Eigenschaft aus Null extrahieren, gibt JS einen Fehler aus. 🎜Wenn Sie also Attribute von einem Objekt abrufen möchten, sollten Sie darauf achten, dass das Objekt möglicherweise null ist, da sonst ein Fehler auftreten kann. 🎜🎜【Empfohlene Studie: „🎜Javascript-Grundlagen-Tutorial🎜"]🎜

4. null alternative

🎜Wenn das Objekt nicht konstruiert werden kann, besteht unser üblicher Ansatz darin, null zurückzugeben, aber dieser Ansatz hat 🎜 Nachteile 🎜. Eine Prüfung muss durchgeführt werden, wenn null im Ausführungsstapel erscheint. 🎜🎜Versuchen Sie, die Rückgabe von null zu vermeiden: 🎜
  • Gib das Standardobjekt anstelle von null
  • zurück.
  • Wirf einen Fehler aus, anstatt null

5. null vs undefiniert

🎜undefiniert ist nicht🎜 Initialisieren des Werts einer 🎜 Variablen 🎜 oder einer 🎜 Objekteigenschaft 🎜 🎜 Der Hauptunterschied zwischen null und undefiniert besteht darin, dass null ein fehlendes Objekt darstellt und undefiniert stellt einen nicht initialisierten Zustand dar. 🎜🎜🎜Tipps: Nachdem der Artikel geschrieben wurde, kann das Inhaltsverzeichnis automatisch generiert werden. Informationen zum Generieren finden Sie im Hilfedokument auf der rechten Seite

Das obige ist der detaillierte Inhalt vonWas ist in Javascript null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage