aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html175
1 files changed, 0 insertions, 175 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html b/files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html
deleted file mode 100644
index df8c13a161..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/getownpropertynames/index.html
+++ /dev/null
@@ -1,175 +0,0 @@
----
-title: Object.getOwnPropertyNames()
-slug: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames
-tags:
- - ECMAScript5
- - JavaScript
- - Об'єкт
- - метод
-translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames
----
-<div>{{JSRef}}</div>
-
-<p>Метод <strong><code>Object.getOwnPropertyNames()</code></strong> повертає масив усіх властивостей (в тому числі неперелічуваних, за винятком властивостей, що використовують символ), знайдених безпосередньо на наданому об'єкті.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/object-getownpropertynames.html")}}</div>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="brush: js">Object.getOwnPropertyNames(<var>obj</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code><var>obj</var></code></dt>
- <dd>Об'єкт, чиї перелічувані та неперелічувані властивості будуть повернені.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Масив рядків, що відповідає властивостям, знайденим безпосередньо у наданому об'єкті.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p><code>Object.getOwnPropertyNames()</code> повертає масив, чиї елементи є рядками, що відповідають перелічуваним та неперелічуваним властивостям, знайденим безпосередньо на наданому об'єкті <code><var>obj</var></code>. Порядок перелічуваних властивостей у масиві відповідає порядку, в якому видає властивості об'єкта цикл {{jsxref("Statements/for...in", "for...in")}} (або метод {{jsxref("Object.keys()")}}). Порядок неперелічуваних властивостей у масиві, а також порядок посеред перелічуваних властивостей, не визначені.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Використання_Object.getOwnPropertyNames">Використання <code>Object.getOwnPropertyNames()</code></h3>
-
-<pre class="brush: js">var arr = ['а', 'б', 'в'];
-console.log(Object.getOwnPropertyNames(arr).sort());
-// виведе ["0", "1", "2", "length"]
-
-// подібний до масиву об'єкт
-var obj = { 0: 'а', 1: 'б', 2: 'в' };
-console.log(Object.getOwnPropertyNames(obj).sort());
-// виведе ["0", "1", "2"]
-
-// Виведення імен та значень властивостей через Array.forEach
-Object.getOwnPropertyNames(obj).forEach(
- function (val, idx, array) {
- console.log(val + ' -&gt; ' + obj[val]);
- }
-);
-// виведе
-// 0 -&gt; а
-// 1 -&gt; б
-// 2 -&gt; в
-
-// неперелічувана властивість
-var my_obj = Object.create({}, {
- getFoo: {
- value: function() { return this.foo; },
- enumerable: false
- }
-});
-my_obj.foo = 1;
-
-console.log(Object.getOwnPropertyNames(my_obj).sort());
-// виведе ["foo", "getFoo"]
-</pre>
-
-<p>Якщо вам потрібні тільки перелічувані властивості, дивіться {{jsxref("Object.keys()")}} або скористайтесь циклом {{jsxref("Statements/for...in", "for...in")}} (зауважте, що це також поверне перелічувані властивості, знайдені у ланцюжку прототипів об'єкта, якщо тільки вони не були відфільтровані методом {{jsxref("Object.prototype.hasOwnProperty()", "hasOwnProperty()")}}).</p>
-
-<p>Елементи, знайдені у ланцюжку прототипів, не додаються у список:</p>
-
-<pre class="brush: js">function ParentClass() {}
-ParentClass.prototype.inheritedMethod = function() {};
-
-function ChildClass() {
- this.prop = 5;
- this.method = function() {};
-}
-ChildClass.prototype = new ParentClass;
-ChildClass.prototype.prototypeMethod = function() {};
-
-console.log(
- Object.getOwnPropertyNames(
- new ChildClass() // ["prop", "method"]
- )
-);
-</pre>
-
-<h3 id="Отримати_лише_неперелічувані_властивості">Отримати лише неперелічувані властивості</h3>
-
-<p>Тут використовується функція {{jsxref("Array.prototype.filter()")}} для видалення перелічуваних ключів (отриманих методом {{jsxref("Object.keys()")}}) зі списка усіх ключів (отриманих методом <code>Object.getOwnPropertyNames()</code>), таким чином, повертаючи тільки неперелічувані ключі.</p>
-
-<pre class="brush: js">var target = myObject;
-var enum_and_nonenum = Object.getOwnPropertyNames(target);
-var enum_only = Object.keys(target);
-var nonenum_only = enum_and_nonenum.filter(function(key) {
- var indexInEnum = enum_only.indexOf(key);
- if (indexInEnum == -1) {
- // Ключ не знайдений у ключах enum_only,
- // це означає, що він є неперелічуваним,
- // тому повертаємо true, щоб залишити його у фільтрі
- return true;
- } else {
- return false;
- }
-});
-
-console.log(nonenum_only);
-</pre>
-
-<h2 id="Примітки">Примітки</h2>
-
-<p>У ES5, якщо аргумент цього методу не є об'єктом (примітив), це спричинить помилку {{jsxref("TypeError")}}. У ES2015 аргумент, що не є об'єктом, буде приведений до об'єкта.</p>
-
-<pre class="brush: js">Object.getOwnPropertyNames('foo');
-// TypeError: "foo" is not an object (код ES5)
-
-Object.getOwnPropertyNames('foo');
-// ["0", "1", "2", "length"] (код ES2015)
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Специфікація</th>
- <th scope="col">Статус</th>
- <th scope="col">Коментар</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-object.getownpropertynames', 'Object.getOwnPropertyNames')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-object.getownpropertynames', 'Object.getOwnPropertyNames')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.2.3.4', 'Object.getOwnPropertyNames')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Початкове визначення. Реалізоване у JavaScript 1.8.5.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Object.getOwnPropertyNames")}}</p>
-
-<h2 id="Примітки_щодо_Firefox">Примітки щодо Firefox</h2>
-
-<p>До Firefox 28 метод <code>Object.getOwnPropertyNames</code> не бачив невирішених властивостей об'єктів {{jsxref("Error")}}. Це було виправлено у пізніших версіях ({{bug("724768")}}).</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a href="/uk/docs/Web/JavaScript/Перелічуваність_та_належність_властивостей">Перелічуваність та належність властивостей</a></li>
- <li>{{jsxref("Object.prototype.hasOwnProperty()")}}</li>
- <li>{{jsxref("Object.prototype.propertyIsEnumerable()")}}</li>
- <li>{{jsxref("Object.create()")}}</li>
- <li>{{jsxref("Object.keys()")}}</li>
- <li>{{jsxref("Array.forEach()")}}</li>
-</ul>