MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

in operator

Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.

Оператор in повертає true, якщо властивість присутня у вказаному об'єкті.

Синтаксис

prop in objectName

Параметри

prop
Рядок або символ, що є іменем властивості або індексом масиву (не-символи будуть приведені до рядка).
objectName
Ім'я об'єкта.

Опис

Приклад, наведений нижче, ілюструє деякі випадки використання in оператора.

// Arrays
var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple'];
0 in trees        // returns true
3 in trees        // returns true
6 in trees        // returns false
'bay' in trees    // returns false (you must specify the 
                  // index number, not the value at that index)
'length' in trees // returns true (length is an Array property)
Symbol.iterator in trees // returns true (arrays are iterable, works only in ES2015+)

// Predefined objects
'PI' in Math          // returns true

// Custom objects
var mycar = {make: 'Honda', model: 'Accord', year: 1998};
'make' in mycar  // returns true
'model' in mycar // returns true

Необхідно вказати об'єкт зправа  від in оператора. Наприклад, можна вказати рядок, створений за допомогою String конструктора, але не можна вказувати рядок як літерал.

var color1 = new String('green');
'length' in color1 // returns true

var color2 = 'coral';
// generates an error (color2 is not a String object)
'length' in color2

Використання in з видаленими або undefined властивостями

Якщо видалити властивість використовуючи delete оператор,  in оператор поверне false для цієї властивості.

var mycar = {make: 'Honda', model: 'Accord', year: 1998};
delete mycar.make;
'make' in mycar;  // returns false

var trees = new Array('redwood', 'bay', 'cedar', 'oak', 'maple');
delete trees[3];
3 in trees; // returns false

Якщо задати властивість як undefinedале не видалити її,  in оператор поверне true для цієї властивості.

var mycar = {make: 'Honda', model: 'Accord', year: 1998};
mycar.make = undefined;
'make' in mycar;  // returns true
var trees = new Array('redwood', 'bay', 'cedar', 'oak', 'maple');
trees[3] = undefined;
3 in trees; // returns true

Успадковані властивості

Оператор in повертає true для властивостей з ланцюжка прототипів.

'toString' in {}; // returns true

Специфікації

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'Relational Operators' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Relational Operators' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'The in Operator' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'The in Operator' in that specification.
Standard Initial definition. Implemented in JavaScript 1.4.

Сумісність з браузерами

Feature Chrome Firefox (Gecko) Edge Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Також дивіться

Мітки документа й учасники

 Зробили внесок у цю сторінку: RuslanaGRA
 Востаннє оновлена: RuslanaGRA,