Оператор 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
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.