not in Operator in JavaScript

Shraddha Paghdar 12 Oktober 2023
not in Operator in JavaScript

Objekte sind Schlüsselwerteigenschaften, die am häufigsten in JavaScript verwendet werden. Um zu prüfen, ob eine bestimmte Eigenschaft existiert oder nicht, bietet JavaScript mehrere Möglichkeiten. Der heutige Beitrag zeigt Ihnen, wie Sie in JavaScript überprüfen können, ob eine bestimmte Eigenschaft für ein Objekt vorhanden ist oder nicht.

Überprüfen Sie, ob die Eigenschaft in JavaScript vorhanden oder nicht vorhanden ist

Eigenschaften werden mit dem in einem Objekt gespeicherten Schlüsselwert gepaart. Ein Objekt kann viele solcher Eigenschaften enthalten. Ob eine bestimmte Eigenschaft in JavaScript existiert oder nicht, wird durch den Operator id in object oder Object.prototype.hasOwnProperty() bestimmt.

Object.prototype.hasOwnProperty() in JavaScript

Dies ist eine integrierte Methode, die von JavaScript bereitgestellt wird, um zu überprüfen, ob die angegebene Eigenschaft zu einem Objekt gehört oder nicht. Es iteriert das Objekt und gibt den booleschen Wert entsprechend dem Ergebnis zurück.

Syntax:

Object.prototype.hasOwnProperty(prop);

Diese Funktion nimmt prop als Eingabe im string-Format. Es ist ein obligatorischer Parameter. Diese Methode prüft nur, ob die angegebene Eigenschaft unabhängig vom Wert im Objekt vorhanden ist oder nicht. Es wird true zurückgegeben, auch wenn der Eigenschaftswert null oder undefined ist. Diese Methode kann auch auf einem Array aufgerufen werden, da das Array von einem Object abstammt. Weitere Informationen finden Sie in der Dokumentation der Methode hasOwnProperty().

const inputObject = {
  id: 42,
  name: 'John Doe'
};

console.log(inputObject.hasOwnProperty('name'));
if (!inputObject.hasOwnProperty('email')) {
  inputObject.email = 'Johndoe@gmail.com';
}
console.log(inputObject);

Im obigen Codeblock haben wir zwei Eigenschaften eines Objekts id und name definiert. Wenn Sie inputObject.hasOwnProperty('name') übergeben, wird geprüft, ob die name-Eigenschaft in inputObject vorhanden ist oder nicht. Wenn Sie möchten, dass die gegenteilige Bedingung überprüft wird, fügen Sie ! hinzu. vor der Bedingung, und es wird die Prüfung negieren. Sie können beispielsweise eine neue Eigenschaft hinzufügen, wenn sie nicht innerhalb eines Objekts vorhanden ist. Die Ausgabe des obigen Codes ist unten zu sehen.

Ausgabe:

true
{
  email: "Johndoe@gmail.com",
  id: 42,
  name: "John Doe"
}

Der in-Operator in JavaScript

Es handelt sich um eine von JavaScript bereitgestellte integrierte Methode, die überprüft, ob ein Objekt oder eine Prototypkette die angegebene Eigenschaft besitzt. Es iteriert das Objekt und gibt den booleschen Wert entsprechend dem Ergebnis zurück.

Syntax:

prop in object

Diese Funktion nimmt prop als Eingabe im string-Format. Es ist ein obligatorischer Parameter. Diese Methode prüft nur, ob die angegebene Eigenschaft oder der Array-Index in Object oder seiner prototype chain existiert oder nicht. Diese Methode kann auch auf einem Array aufgerufen werden, da das Array von einem Object abstammt. Weitere Informationen finden Sie in der Dokumentation der Methode in-Operator.

Der Hauptunterschied zwischen den Operatoren hasOwnProperty und in besteht darin, dass der vorherige false zurückgibt, wenn die Eigenschaft innerhalb des Objekts vererbt oder nicht deklariert wurde. Im Vergleich dazu prüft der Operator in nicht auf die angegebene Eigenschaft in der Prototypkette des Objekts. Zum Beispiel hat die Basisklasse Object hasOwnProperty als Funktion, also gibt hasOwnProperty false zurück, während der Operator in true zurückgibt.

const inputObject = {
  id: 42,
  name: 'John Doe'
};

console.log('name' in inputObject);
if (!('phone' in inputObject)) {
  inputObject.phone = '7878787878';
}
console.log(inputObject);

Im obigen Codeblock haben wir zwei Eigenschaften eines Objekts id und name definiert. Wenn Sie 'name' in inputObject übergeben, wird geprüft, ob die name-Eigenschaft in inputObject existiert. Wenn Sie möchten, dass die gegenteilige Bedingung überprüft wird, fügen Sie ! hinzu. vor der Bedingung, negiert die Prüfung. Sie können beispielsweise eine neue Eigenschaft Telefon hinzufügen, wenn sie nicht innerhalb eines Objekts vorhanden ist. Die Ausgabe des obigen Code-Snippets ist unten zu sehen.

Ausgabe:

true
{
  id: 42,
  name: "John Doe",
  phone: "7878787878"
}
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Verwandter Artikel - JavaScript Operator