В 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
Если они для вас новы, попробуйте включить их в свой код и получайте удовольствие от предоставляемых ими возможностей!
Ресурсы