Рубрики
Без рубрики

Использование оператора “In” в JavaScript

В этом коротком учебнике мы будем проходить через оператор «в» в JavaScript – что это такое, что он делает … с меткой JavaScript, Tutorial, WebDev, объектами.

В этом коротком учебнике мы пойдем через “в” Оператор в JavaScript – что это такое, что он делает и как вы можете реализовать его в своем собственном коде JavaScript.

Готовый? Давайте начнем!

Что такое оператор “в” in “?

Я рад, что ты спросил. В JavaScript оператор «в» – это Встроенный оператор который используется для проверки, является ли собственность существует в Объект Анкет

При использовании в выражении оператор «in» вернет Логическое значение ; Верно Если собственность была найдена в объекте, ложный если не.

Оператор «In» также может быть использован на Массив , поскольку массивы технически являются объектами в JavaScript. Разница здесь в том, что оператор «в» может быть использован только для выяснения, определенный ли какой -то Индекс находится в пределах массива, поскольку значения в Массив не является свойствами из массив.

Это может показаться немного запутанным, так что давайте посмотрим на это в действии.

Как использовать оператора “в” в “?

Синтаксис довольно прост. У оператора «в» есть два параметра:

  1. PROP (строка или символ, который представляет имя свойства или индекс массива.)
  2. объект (Объект, в котором вы будете проверять, содержит ли он опора).

В коде это выглядит так:

prop in object

С некоторым контекстом:

let obj = { prop1: 1, prop2: 2, prop3: 3 };

"prop1" in obj;
//=> true

"prop2" in obj;
//=> true

"prop5" in obj;
//=> false

Как мы видим, первые два реквизита являются Ключи в (и, следовательно, свойства) объекта obj и верните A Верно Boolean, в то время как “Prop5” – это не ключ или свойство и, таким образом, возвращает ЛОЖЬ .

Ключи в объекте считаются свойствами, так как их можно напрямую, как на объекте, так же:

let obj = { prop1: 1, prop2: 2, prop3: 3 };

obj.prop1;
//=> 1

obj["prop1"];
//=> 1

Вот почему оператор «в» не может быть использован для проверки элементов/значений в массиве, в то время как он может использоваться для проверки свойств массива Объект , как индексы или свойство длины:

let arr = [1, 2, 3, 4, 5];

// These operators check for Array indices, not values:
0 in arr;
//=> true
2 in arr;
//=> true
5 in arr;
//=> false

// This operator checks for a property of the Array Object:
"length" in arr;
//=> true
//=> This returns true because arr.length is a property

Как я мог использовать это в реальной программе?

Оператор «In» в основном полезен для написания читаемого, дружественного к человеку код, когда вам нужно проверить наличие свойства или ключа в объекте.

Допустим, существует кусок существующей функции, которая проверяет, существует ли ключ в объекте в цикле для цикла, выполняя один бит логики, если это так, и еще один бит логики, если это не так.

Этот пример не имеет большого контекста, но терпите меня:

let agesOfUsers = {
  18: ["Adam", "Jess"],
  21: ["Mike", "Alex"],
  24: ["Tom"]
};

function getNamesForAge(age) {
  if (age in agesOfUsers) {
    agesOfUsers[age].forEach( user => console.log(user) );
  } else {
    console.log(`No users of age ${age} on record.`);
  }
}

getNamesForAge(18);
//=> Adam
//=> Jess

getNamesForAge(30);
//=> No users of age 30 on record.

Для записи, заявление IF также может быть написано так:

if (!!agesOfUsers[18]) {
  // logic
}

Тем не менее, существует большая субъективная ценность для того, чтобы сделать код более удобным и читаемым человеком, особенно в общей кодовой базе. Следовательно, почему использование оператора «в» – отличный вариант!

Если вы зашли так далеко, большое спасибо за чтение! Я надеюсь, что этот пост был полезным или образовательным в вашем путешествии JavaScript.:)

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

Оригинал: “https://dev.to/seanwelshbrown/using-the-in-operator-in-javascript-46if”