В Javascript есть два менее используемых оператора и оператора: операторы if…in и for…in. Давайте погрузимся, чтобы увидеть их в действии!

для...в

Оператор for…in перечисляет каждый ключ в объекте. Стоит отметить, что этот оператор будет перечислять ключи, которые являются строковыми типами данных, но игнорирует типы символов.

Синтаксис for…in, согласно MDN, следующий:

for (variable in object)
statement

Мне нравится думать об операторе for…in как о «каждом ключе в объекте». Это стало моей ментальной моделью-мантрой.

Так, например, если у нас есть объект person, мы могли бы использовать for..in следующим образом:

let person = {name: “Harry”, age: “35”, location: “NYC”}
for(let key in personObj){
 console.log(key)
 }

И вывод на консоль мы увидим…

…все ключи или свойства этого объекта.

if…in

Согласно моему собственному исследованию, оператор if…in явно не обозначен как собственный оператор, но существует оператор in и if… существует — и их совместное использование дает множество прекрасных возможностей.

Только оператор in вернет true, если указанный ключ/свойство находится в объекте:

let person = {name: "Harry", age: "35", location: "NYC"}
console.log('name' in person)
#=> true 

Таким образом, превращение этого в условный оператор с if…in может выглядеть так:

let person = {name: "Harry", age: "35", location: "NYC"}
if('age' in person){
    console.log(person.age)
}
#=> 35

Если они для вас новы, попробуйте включить их в свой код и получайте удовольствие от предоставляемых ими возможностей!

Ресурсы