From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../object/propertyisenumerable/index.html | 149 +++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/object/propertyisenumerable/index.html (limited to 'files/uk/web/javascript/reference/global_objects/object/propertyisenumerable') diff --git a/files/uk/web/javascript/reference/global_objects/object/propertyisenumerable/index.html b/files/uk/web/javascript/reference/global_objects/object/propertyisenumerable/index.html new file mode 100644 index 0000000000..b7eafe88f0 --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/object/propertyisenumerable/index.html @@ -0,0 +1,149 @@ +--- +title: Object.prototype.propertyIsEnumerable() +slug: Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable +tags: + - JavaScript + - Об'єкт + - метод +translation_of: Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable +--- +
{{JSRef}}
+ +

Метод propertyIsEnumerable() повертає булеве значення, що позначає, чи є вказана властивість перелічуваною.

+ +
{{EmbedInteractiveExample("pages/js/object-prototype-propertyisenumerable.html")}}
+ + + +

Синтаксис

+ +
obj.propertyIsEnumerable(prop)
+ +

Параметри

+ +
+
prop
+
Ім'я властивості, яку необхідно перевірити.
+
+ +

Значення, що повертається

+ +

{{jsxref("Boolean","Булеве значення")}}, що позначає, чи є вказана властивість перелічуваною.

+ +

Опис

+ +

Кожен об'єкт має метод propertyIsEnumerable. Цей метод може визначити, чи може вказана властивість об'єкта бути перелічена циклом {{jsxref("Statements/for...in", "for...in")}}, за винятком властивостей, успадкованих через ланцюжок прототипів. Якщо об'єкт не має вказаної властивості, метод поверне false.

+ +

Приклади

+ +

Базове використання propertyIsEnumerable

+ +

Наступний приклад демонструє використання propertyIsEnumerable на об'єктах та масивах:

+ +
var o = {};
+var a = [];
+o.prop = 'перелічувана';
+a[0] = 'перелічувана';
+
+o.propertyIsEnumerable('prop');   // повертає true
+a.propertyIsEnumerable(0);        // повертає true
+
+ +

Визначені користувачем об'єкти проти вбудованих об'єктів

+ +

Наступний приклад демонструє перелічуваність визначених користувачем властивостей у порівнянні з вбудованими:

+ +
var a = ['перелічувана'];
+
+a.propertyIsEnumerable(0);          // повертає true
+a.propertyIsEnumerable('length');   // повертає false
+
+Math.propertyIsEnumerable('random');   // повертає false
+this.propertyIsEnumerable('Math');     // повертає false
+
+ +

Прямі властивості проти успадкованих

+ +
var a = [];
+a.propertyIsEnumerable('constructor');         // повертає false
+
+function firstConstructor() {
+  this.property = 'не перелічувана';
+}
+
+firstConstructor.prototype.firstMethod = function() {};
+
+function secondConstructor() {
+  this.method = function method() { return 'перелічувана'; };
+}
+
+secondConstructor.prototype = new firstConstructor;
+secondConstructor.prototype.constructor = secondConstructor;
+
+var o = new secondConstructor();
+o.arbitraryProperty = 'перелічувана';
+
+o.propertyIsEnumerable('arbitraryProperty');   // повертає true
+o.propertyIsEnumerable('method');              // повертає true
+o.propertyIsEnumerable('property');            // повертає false
+
+o.property = 'перелічувана';
+
+o.propertyIsEnumerable('property');            // повертає true
+
+// Наступні повертають false, оскільки вони присутні на прототипі, який
+// propertyIsEnumerable не враховує (хоча останні дві
+// перебираються циклом for-in)
+o.propertyIsEnumerable('prototype');   // повертає false (згідно з JS 1.8.1/FF3.6)
+o.propertyIsEnumerable('constructor'); // повертає false
+o.propertyIsEnumerable('firstMethod'); // повертає false
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ES3')}}{{Spec2('ES3')}}Початкове визначення
{{SpecName('ES5.1', '#sec-15.2.4.7', 'Object.prototype.propertyIsEnumerable')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-object.prototype.propertyisenumerable', 'Object.prototype.propertyIsEnumerable')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-object.prototype.propertyisenumerable', 'Object.prototype.propertyIsEnumerable')}}{{Spec2('ESDraft')}}
+ +

Сумісність з веб-переглядачами

+ +
+ + +

{{Compat("javascript.builtins.Object.propertyIsEnumerable")}}

+
+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf