diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/isfrozen/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/object/isfrozen/index.html | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/isfrozen/index.html b/files/uk/web/javascript/reference/global_objects/object/isfrozen/index.html deleted file mode 100644 index b693befb9a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/object/isfrozen/index.html +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: Object.isFrozen() -slug: Web/JavaScript/Reference/Global_Objects/Object/isFrozen -tags: - - ECMAScript 5 - - JavaScript - - Об'єкт - - метод - - розширюваний -translation_of: Web/JavaScript/Reference/Global_Objects/Object/isFrozen ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>Object.isFrozen()</strong></code> визначає, чи є об'єкт {{jsxref("Object.freeze()", "замороженим", "", 1)}}.</p> - -<div>{{EmbedInteractiveExample("pages/js/object-isfrozen.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code>Object.isFrozen(<var>obj</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>Об'єкт для перевірки.</dd> -</dl> - -<h3 id="Повертає">Повертає</h3> - -<p>{{jsxref("Boolean", "Булеве значення")}}, що вказує, чи є наданий об'єкт замороженим.</p> - -<h2 id="Опис">Опис</h2> - -<p>Об'єкт є замороженим тільки тоді, коли він не є {{jsxref("Object.isExtensible()", "розширюваним", "", 1)}}, всі його властивості недоступні для налаштування, і всі його властивості-значення (тобто, властивості, які не є властивостями-аксесорами, що мають гетер або сетер) недоступні для запису.</p> - -<h2 id="Приклади">Приклади</h2> - -<pre class="brush: js">// Новий об'єкт є розширюваним, отже, він не заморожений -Object.isFrozen({}); // === false - -// Пустий об'єкт, котрий є нерозширюваним, -// є порожньо замороженим. -var vacuouslyFrozen = Object.preventExtensions({}); -Object.isFrozen(vacuouslyFrozen); // === true - -// Новий об'єкт з однією властивістю є також розширюваним, -// отже, не заморожений. -var oneProp = { p: 42 }; -Object.isFrozen(oneProp); // === false - -// Припинення розширювання об'єкту не робить його замороженим, -// тому що властивість досі доступна -// для налаштування (та запису). -Object.preventExtensions(oneProp); -Object.isFrozen(oneProp); // === false - -// ...але видалення цієї властивості робить об'єкт -// порожньо замороженим. -delete oneProp.p; -Object.isFrozen(oneProp); // === true - -// Нерозширюваний об'єкт з властивістю, недоступною для запису, -// але доступною для налаштування, не є замороженим. -var nonWritable = { e: 'plep' }; -Object.preventExtensions(nonWritable); -Object.defineProperty(nonWritable, 'e', { - writable: false -}); // зробити властивість недоступною для запису -Object.isFrozen(nonWritable); // === false - -// Якщо зробити цю властивість недоступною для налаштування, -// тоді об'єкт буде замороженим. -Object.defineProperty(nonWritable, 'e', { - configurable: false -}); // зробити властивість недоступною для налаштування -Object.isFrozen(nonWritable); // === true - -// Нерозширюваний об'єкт з властивістю, недоступною -// для налаштування, але доступною для запису, також не є замороженим. -var nonConfigurable = { release: 'the kraken!' }; -Object.preventExtensions(nonConfigurable); -Object.defineProperty(nonConfigurable, 'release', { - configurable: false -}); -Object.isFrozen(nonConfigurable); // === false - -// Якщо зробити цю властивість недоступною для запису, -// тоді об'єкт буде заморожений. -Object.defineProperty(nonConfigurable, 'release', { - writable: false -}); -Object.isFrozen(nonConfigurable); // === true - -// Нерозширюваний об'єкт з властивістю-аксесором, -// доступною для налаштування, не є замороженим. -var accessor = { get food() { return 'ням'; } }; -Object.preventExtensions(accessor); -Object.isFrozen(accessor); // === false - -// ...але якщо зробити цю властивість недоступною для налаштування, -// тоді об'єкт буде замороженим. -Object.defineProperty(accessor, 'food', { - configurable: false -}); -Object.isFrozen(accessor); // === true - -// Але найпростіший спосіб зробити об'єкт замороженим - -// це викликати на ньому метод Object.freeze. -var frozen = { 1: 81 }; -Object.isFrozen(frozen); // === false -Object.freeze(frozen); -Object.isFrozen(frozen); // === true - -// За визначенням, заморожений об'єкт є нерозширюваним. -Object.isExtensible(frozen); // === false - -// Також, за визначенням, заморожений об'єкт є запечатаним. -Object.isSealed(frozen); // === true -</pre> - -<h2 id="Примітки">Примітки</h2> - -<p>У ES5, якщо аргументом цього методу є не об'єкт (примітив), це спричинить {{jsxref("TypeError")}}. У ES2015 аргумент, що не є об'єктом, сприйматиметься як звичайний заморожений об'єкт, метод просто поверне <code>true</code>.</p> - -<pre class="brush: js">Object.isFrozen(1); -// TypeError: 1 is not an object (код ES5) - -Object.isFrozen(1); -// true (код ES2015) -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.2.3.12', 'Object.isFrozen')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Початкове визначення. Реалізоване у JavaScript 1.8.5.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-object.isfrozen', 'Object.isFrozen')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-object.isfrozen', 'Object.isFrozen')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Object.isFrozen")}}</p> -</div> - -<h2 id="Дивіться_також">Дивіться також</h2> - -<ul> - <li>{{jsxref("Object.freeze()")}}</li> - <li>{{jsxref("Object.preventExtensions()")}}</li> - <li>{{jsxref("Object.isExtensible()")}}</li> - <li>{{jsxref("Object.seal()")}}</li> - <li>{{jsxref("Object.isSealed()")}}</li> -</ul> |
