Найти тему

Оператор in JavaScript

Оператор in имеется во многих языках программирования и ведёт себя примерно одинаково. Обычно он проверяет, входит ли какой-то элемент в какое-то множество (массив).

В JavaScript оператор in требует, чтобы левый операнд был строкой или мог быть преобразован в строку. Правым операндом должен быть объект (или массив). Результатом работы этого оператора будет true, если левое значение является именем свойства объекта, указанного справа (либо входит в массив).

Пример:

Комментарии в примере достаточно подробные, так что давать какие-то дополнительные пояснения не вижу смысла.

Где это может пригодиться? Ну, например, если вы не уверены, что у объекта есть нужное вам свойство или метод, то перед его использованием не лишним будет это проверить, чтобы не получить ошибку времени выполнения. Хотя JavaScript прощает многое. И, например, если в нашем примере вы сделаете так:

document.writeln(TPoint.z);

то ничего страшного не произойдёт. Просто будет выведено значение undefined.

И даже если вы попытаетесь сделать так:

TPoint.x + TPoint.z

то и здесь ошибки не будет. Просто результатом будет значение NaN.

Ну и вот так тоже делать можно, поскольку массивы являются объектами:

var M = new Array(1, 2, 3, 4, 5);
document.writeln(3 in M); //true
document.writeln(7 in M); //false

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.