Wenn Sie überprüfen, ob eine Variable nicht definiert ist, wird die Variable nicht definiert - javascript

Ich habe eine Aussage in meinem Code:

if(!(typeof options.duration[i] === "undefined"))

Ich habe es richtig geschrieben, scheint, dass es keinen Fehler gibt, aber die Konsole wirft Fehler, dass:

TypeError: options.duration is undefined

Es sollte diesen Fehler nicht zeigen. Es macht keinen Sinn.

Antworten:

3 für die Antwort № 1

Die Variable options.duration ist undefiniert, also auf Element zugreifen i daraus wird sich dieser Fehler ergeben. Vielleicht versuchen:

if(typeof options.duration !== "undefined")

Oder wenn Sie beide überprüfen müssen options.duration und options.duration[i], Versuchen

if(typeof options.duration !== "undefined" &&
typeof options.duration[i] !== "undefined")

1 für die Antwort № 2

Damit Ihr Test erfolgreich ist, das Array options.duration muss selbst definiert werden.


1 für die Antwort № 3

Sie bekommen diesen Fehler, weil die duration Eigentum existiert nicht.

Überprüfen Sie, ob die Eigenschaft vorhanden ist, bevor Sie versuchen, Elemente darin zu überprüfen:

if("duration" in options && typeof options.duration[i] !== "undefined")

Verwandte Fragen