Avatar ·

Wie man richtig prüft, ob eine Objekteigenschaft in JavaScript undefined ist

Hallo zusammen! Ich bin ein Anfänger in JavaScript und habe ein Problem bei der Überprüfung von Objekteigenschaften. Ich habe ein Objekt user: ```javascript const user = { name: 'Ivan', age: 25 }; ``` Ich möchte prüfen, ob das Objekt eine Eigenschaft `email` hat und ob sie `undefined` ist. Aber ich bin verwirrt über die verschiedenen Methoden der Überprüfung. Zum Beispiel, wenn ich schreibe: ```javascript if (user.email === undefined) { console.log('email ist nicht definiert'); } ``` Das funktioniert, aber ich habe gehört, dass dies unsicher ist, weil die Eigenschaft explizit auf `undefined` gesetzt sein könnte. Dann habe ich den `in`-Operator ausprobiert: ```javascript if ('email' in user) { console.log('Eigenschaft existiert'); } ``` Aber hier verstehe ich den Unterschied zwischen „Eigenschaft existiert nicht“ und „Eigenschaft existiert, ist aber undefined“ nicht. In meiner Aufgabe muss ich diese beiden Fälle unterscheiden. Außerdem habe ich gesehen, dass einige `typeof` verwenden: ```javascript if (typeof user.email === 'undefined') { // etwas tun } ``` Welche Methode ist