From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../global_objects/object/seal/index.html | 151 --------------------- 1 file changed, 151 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/object/seal/index.html (limited to 'files/uk/web/javascript/reference/global_objects/object/seal') 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 ---- -
{{JSRef}}
- -

Метод Object.seal() запечатує об'єкт, запобігаючи створенню нових властивостей та відмічаючи усі існуючі властивості як недоступні для налаштування. Значення існуючих властивостей можна і надалі змінювати, якщо вони доступні для запису.

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

Синтаксис

- -
Object.seal(obj)
- -

Параметри

- -
-
obj
-
Об'єкт, який має бути запечатаний.
-
- -

Повертає

- -

Об'єкт, який запечатується.

- -

Опис

- -

За замовчуванням, об'єкти є {{jsxref("Object.isExtensible()", "розширюваними", "", 1)}} (до них можна додати нові властивості). Запечатування об'єкту запобігає створенню нових властивостей і робить усі існуючі властивосні недоступними для налаштування. Це робить набір властивостей об'єкта зафіксованим і незмінним. Перетворення всіх властивостей на недоступні для налаштування також запобігає зміні властивостей-значень на властивості-аксесори, та навпаки, але не запобігає зміні значеннь властивостей. Спроби додати чи видалити властивість з запечатаного об'єкта, або перетворити властивість-значення на властивість-аксесор, не спрацюють, або непомітно, або з викиданням {{jsxref("TypeError")}} (найчастіше, але не виключно, у {{jsxref("Strict_mode", "строгому режимі", "", 1)}})

- -

Ланцюг прототипів залишається незмінним. Проте, властивість {{jsxref("Object.proto", "__proto__")}} {{deprecated_inline}} також запечатується.

- -

Приклади

- -
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: 'рох'
-}); // змінює значення існуючої властивості
-
- -

Примітки

- -

У ES5, якщо аргументом цього методу є не об'єкт (примітив), це спричинить {{jsxref("TypeError")}}. У ES2015 аргумент, що не є об'єктом, сприйматиметься як звичайний запечатаний об'єкт, і буде просто повернений.

- -
Object.seal(1);
-// TypeError: 1 is not an object (код ES5)
-
-Object.seal(1);
-// 1                             (код ES2015)
-
- -

Порівняння з Object.freeze()

- -

Існуючі властивості об'єктів, заморожених методом {{jsxref("Object.freeze()")}}, стають незмінними. Властивості об'єкта, запечатаного методом Object.seal(), надалі можуть бути зміненні.

- -

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

- - - - - - - - - - - - - - - - - - - - - - - - - - -
СпецифікаціїСтатусКоментар
{{SpecName('ES5.1', '#sec-15.2.3.8', 'Object.seal')}}{{Spec2('ES5.1')}}Початкове визначення. Реалізоване у JavaScript 1.8.5.
{{SpecName('ES6', '#sec-object.seal', 'Object.seal')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-object.seal', 'Object.seal')}}{{Spec2('ESDraft')}}
- -

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

- - - -

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

- -

Див. також

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