Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

undefined

BaselineWidely available

Dieundefined globale Eigenschaft repräsentiert den primitiven Wertundefined. Es ist einer von JavaScriptsprimitiven Typen.

Probieren Sie es aus

function test(t) {  if (t === undefined) {    return "Undefined value!";  }  return t;}let x;console.log(test(x));// Expected output: "Undefined value!"

Wert

Der primitive Wertundefined.

Eigenschaften vonundefined
Schreibbarnein
Aufzählbarnein
Konfigurierbarnein

Beschreibung

undefined ist eine Eigenschaft desglobalen Objekts. Das bedeutet, es ist eine Variable im globalen Bereich.

In allen nicht veralteten Browsern istundefined eine nicht konfigurierbare, nicht beschreibbare Eigenschaft. Auch wenn dies nicht der Fall ist, vermeiden Sie, es zu überschreiben.

Eine Variable, der kein Wert zugewiesen wurde, hat den Typundefined. Eine Methode oder Anweisung gibt ebenfallsundefined zurück, wenn der ausgewerteten Variable kein Wert zugewiesen wurde. Eine Funktion gibtundefined zurück, wenn kein Wertzurückgegeben wurde.

Hinweis:Auch wenn Sieundefined alsBezeichner (Variablenname) in jedem Bereich außer dem globalen Bereich verwenden können (weilundefined keinreserviertes Wort ist), ist dies eine sehr schlechte Idee, die Ihren Code schwer wartbar und fehleranfällig macht.

js
// TUN SIE DAS NICHT(() => {  const undefined = "foo";  console.log(undefined, typeof undefined); // foo string})();((undefined) => {  console.log(undefined, typeof undefined); // foo string})("foo");

Beispiele

Strikte Gleichheit und undefined

Sie könnenundefined und die strikten Gleichheits- und Ungleichheitsoperatoren verwenden, um festzustellen, ob eine Variable einen Wert hat. Im folgenden Code ist die Variablex nicht initialisiert, und dieif-Anweisung wird als wahr ausgewertet.

js
let x;if (x === undefined) {  // these statements execute} else {  // these statements do not execute}

Hinweis:Hier muss derstrikte Gleichheits Operator (im Gegensatz zumstandardmäßigen Gleichheits Operator) verwendet werden, dax == undefined auch überprüft, obxnull ist, während die strikte Gleichheit dies nicht tut. Dies liegt daran, dassnull nicht gleichundefined ist.

SieheVergleich und Gleichheit für Details.

typeof Operator und undefined

Alternativ kanntypeof verwendet werden:

js
let x;if (typeof x === "undefined") {  // these statements execute}

Ein Grund,typeof zu verwenden, ist, dass es keinen Fehler auslöst, wenn die Variable nicht deklariert wurde.

js
// x has not been declared before// evaluates to true without errorsif (typeof x === "undefined") {  // these statements execute}// Throws a ReferenceErrorif (x === undefined) {}

Es gibt jedoch eine andere Alternative. JavaScript ist eine statisch gescoped Sprache, daher kann festgestellt werden, ob eine Variable deklariert ist, indem geprüft wird, ob sie in einem umgebenden Kontext deklariert ist.

Der globale Bereich ist an dasglobale Objekt gebunden, daher kann die Existenz einer Variablen im globalen Kontext durch Überprüfen der Existenz einer Eigenschaft auf demglobalen Objekt mit demin Operator festgestellt werden, zum Beispiel:

js
if ("x" in window) {  // These statements execute only if x is defined globally}

void Operator und undefined

Dervoid Operator ist eine dritte Alternative.

js
let x;if (x === void 0) {  // these statements execute}// y has not been declared beforeif (y === void 0) {  // throws Uncaught ReferenceError: y is not defined}

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-undefined

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp