Проверката дали дадена променлива е неопределена връща променливата недефинирана - javascript

Имам изявление в моя код:

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

Написах го правилно, изглежда, че няма грешка, но конзолата хвърля грешка, която:

TypeError: options.duration is undefined

То не трябва да показва тази грешка. Няма смисъл.

Отговори:

3 за отговор № 1

Променливата options.duration е неопределен, така че достъп до елемент i от него ще доведе до тази грешка. Може би опитайте:

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

Или ако трябва да проверите и двете options.duration и options.duration[i], опитвам

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

1 за отговор № 2

За да успее вашият тест, масивът options.duration също трябва да бъде определена.


1 за отговор № 3

Получавате тази грешка, защото duration собствеността не съществува.

Проверете дали имотът съществува преди да опитате да проверите елементите в него:

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

Свързани въпроси
Най - известен