На данный момент я пишу комплекс лабораторных работ по кодированию в JavaScript. Я знаю, что есть конструкция вроде
if ('field' in object) {
/* Do something with object.field */
}
чтобы определить, что переменная с именем field
действительно существует в object
, даже если она равна undefined.
И мой Firefox Developer Edition 44 может определить, есть ли поле в массиве, подобном этому:
if (0 in array) {
/* Do something with first element */
}
Вопрос: этот метод легален? Является ли это частью жизненного стандарта или нет?
Что он должен делать:
Пусть q - массив с такими элементами:
[ 5, <1 empty slot>, undefined, 5 ]
Тогда:
-
0 in q
,2 in q
,3 in q
равноtrue
; -
1 in q
соответствуетfalse
.