aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/object/seal/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/seal/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/seal/index.html151
1 files changed, 0 insertions, 151 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/seal/index.html b/files/uk/web/javascript/reference/global_objects/object/seal/index.html
deleted file mode 100644
index 568686ede7..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/seal/index.html
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title: Object.seal()
-slug: Web/JavaScript/Reference/Global_Objects/Object/seal
-tags:
- - ECMAScript5
- - JavaScript
- - Об'єкт
- - метод
-translation_of: Web/JavaScript/Reference/Global_Objects/Object/seal
----
-<div>{{JSRef}}</div>
-
-<p>Метод <code><strong>Object.seal()</strong></code> запечатує об'єкт, запобігаючи створенню нових властивостей та відмічаючи усі існуючі властивості як недоступні для налаштування. Значення існуючих властивостей можна і надалі змінювати, якщо вони доступні для запису.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/object-prototype-seal.html")}}</div>
-
-
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.seal(<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>За замовчуванням, об'єкти є {{jsxref("Object.isExtensible()", "розширюваними", "", 1)}} (до них можна додати нові властивості). Запечатування об'єкту запобігає створенню нових властивостей і робить усі існуючі властивосні недоступними для налаштування. Це робить набір властивостей об'єкта зафіксованим і незмінним. Перетворення всіх властивостей на недоступні для налаштування також запобігає зміні властивостей-значень на властивості-аксесори, та навпаки, але не запобігає зміні значеннь властивостей. Спроби додати чи видалити властивість з запечатаного об'єкта, або перетворити властивість-значення на властивість-аксесор, не спрацюють, або непомітно, або з викиданням {{jsxref("TypeError")}} (найчастіше, але не виключно, у {{jsxref("Strict_mode", "строгому режимі", "", 1)}})</p>
-
-<p>Ланцюг прототипів залишається незмінним. Проте, властивість {{jsxref("Object.proto", "__proto__")}} {{deprecated_inline}} також запечатується.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<pre class="brush: js">var obj = {
- prop: function() {},
- foo: 'му'
-};
-
-// Нові властивості можуть бути додані, існуючі властивості
-// можуть бути змінені або видалені.
-obj.foo = 'мяв';
-obj.lumpy = 'ква';
-delete obj.prop;
-
-var o = Object.seal(obj);
-
-o === obj; // true
-Object.isSealed(obj); // === true
-
-// На запечатаному об'єкті можна змінювати значення властивостей
-obj.foo = 'кря';
-
-// Але не можна перетворити властивості-значення на властивості-аксесори,
-// і навпаки.
-Object.defineProperty(obj, 'foo', {
- get: function() { return 'g'; }
-}); // викидає TypeError
-
-// Тепер будь-які спроби змін в об'єкті, окрім змін властивостей,
-// не працюватимуть.
-obj.quaxxor = 'весела качка';
-// непомітно не додасть властивість
-delete obj.foo;
-// непомітно не видалить властивість
-
-// ...а у строгому режимі такі спроби
-// викидатимуть помилки TypeError.
-function fail() {
- 'use strict';
- delete obj.foo; // викидає TypeError
- obj.sparky = 'гав'; // викидає TypeError
-}
-fail();
-
-// Спроби додавання властивостей за допомогою
-// Object.defineProperty також викидатимуть помилки.
-Object.defineProperty(obj, 'ohai', {
- value: 17
-}); // викидає TypeError
-Object.defineProperty(obj, 'foo', {
- value: 'рох'
-}); // змінює значення існуючої властивості
-</pre>
-
-<h2 id="Примітки">Примітки</h2>
-
-<p>У ES5, якщо аргументом цього методу є не об'єкт (примітив), це спричинить {{jsxref("TypeError")}}. У ES2015 аргумент, що не є об'єктом, сприйматиметься як звичайний запечатаний об'єкт, і буде просто повернений.</p>
-
-<pre class="brush: js">Object.seal(1);
-// TypeError: 1 is not an object (код ES5)
-
-Object.seal(1);
-// 1 (код ES2015)
-</pre>
-
-<h3 id="Порівняння_з_Object.freeze">Порівняння з <code>Object.freeze()</code></h3>
-
-<p>Існуючі властивості об'єктів, заморожених методом {{jsxref("Object.freeze()")}}, стають незмінними. Властивості об'єкта, запечатаного методом <code>Object.seal()</code>, надалі можуть бути зміненні.</p>
-
-<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('ES5.1', '#sec-15.2.3.8', 'Object.seal')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Початкове визначення. Реалізоване у JavaScript 1.8.5.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-object.seal', 'Object.seal')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-object.seal', 'Object.seal')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Object.seal")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.isSealed()")}}</li>
- <li>{{jsxref("Object.preventExtensions()")}}</li>
- <li>{{jsxref("Object.isExtensible()")}}</li>
- <li>{{jsxref("Object.freeze()")}}</li>
- <li>{{jsxref("Object.isFrozen()")}}</li>
-</ul>