Entdecken Sie, wie Sie Objekteigenschaften überprüfen
Wenn Sie in JavaScript programmieren, sind Sie möglicherweise auf Situationen gestoßen, in denen Sie wissen mussten, ob eine bestimmte Eigenschaft in einem Objekt vorhanden ist, und hier kommt der in-Operator ins Spiel. Ich zeige Ihnen, wie es funktioniert, wie Sie es verwenden und warum es effizienter sein kann als andere Methoden zum Überprüfen von Eigenschaften eines Objekts.
Der in-Operator wird in JavaScript verwendet, um zu überprüfen, ob eine Eigenschaft für ein Objekt vorhanden ist. Das Coole daran ist, dass es nicht nur die direkt im Objekt definierten Eigenschaften prüft, sondern auch die von den Prototypen geerbten.
Die Syntax ist sehr einfach:
'propriedade' in objeto;
Wenn die Eigenschaft vorhanden ist, wird „true“ zurückgegeben, und wenn sie nicht vorhanden ist, wird „false“ zurückgegeben. Es scheint einfach, oder? Doch sein Nutzen geht über eine einfache Überprüfung hinaus. Möchten Sie einige Beispiele sehen?
Sehen wir uns zunächst ein einfaches Beispiel für die Verwendung des in-Operators zur Überprüfung einer direkten Eigenschaft an.
const carro = { marca: 'Toyota', ano: 2020 }; console.log('marca' in carro); // true console.log('modelo' in carro); // false
Hier haben wir ein Autoobjekt mit den Eigenschaften Marke und Jahr. Wenn wir „Marke“ im Auto verwenden, ist das Ergebnis wahr, da die Markeneigenschaft direkt im Objekt vorhanden ist. 'model' in carro gibt false zurück, da diese Eigenschaft nicht definiert wurde.
Diese Art der Prüfung eignet sich hervorragend zur Vermeidung von Fehlern beim Versuch, auf nicht vorhandene Eigenschaften zuzugreifen. Haben Sie schon einmal versucht, auf eine nicht vorhandene Eigenschaft zuzugreifen und dabei den Code gebrochen? Ich schon! ?
Sehen Sie sich nun an, wie der in-Operator auch vom Prototyp geerbte Eigenschaften erkennt
const pessoa = { nome: 'Ana' }; console.log('toString' in pessoa); // true
In diesem Fall verfügt das Personenobjekt nicht direkt über die toString-Eigenschaft, sondern diese Funktion wird von Object.prototype geerbt. Der in-Operator kann dies sehen und gibt true zurück.
Manchmal möchten Sie möglicherweise überprüfen, ob im Objekt geerbte Funktionen verfügbar sind. Dies kann Ihnen in einigen komplexeren Situationen eine Rettung sein.
Jetzt machen wir einen Vergleich mit einer anderen Möglichkeit, Eigenschaften zu überprüfen, der hasOwnProperty-Methode. Es prüft nur, ob die Eigenschaft direkt auf dem Objekt definiert wurde, und ignoriert geerbte Eigenschaften.
const pessoa = { nome: 'Ana' }; console.log(pessoa.hasOwnProperty('toString')); // false console.log('toString' in pessoa); // true
Die hasOwnProperty-Methode gibt für toString false zurück, da sich diese Eigenschaft nicht direkt auf dem Personenobjekt befindet. Mittlerweile gibt der in-Operator „true“ zurück, da er auch geerbte Eigenschaften berücksichtigt.
Über die Antwort wird am meisten gesprochen, wenn man einen leitenden Entwickler etwas fragt, es kommt darauf an.
Das obige ist der detaillierte Inhalt vonMastering oder Operator in keinem JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!