На данный момент я пишу комплекс лабораторных работ по кодированию в 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.