diff options
| author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
| commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
| tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/object/index.html | |
| parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
| download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip | |
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/object/index.html | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/index.html b/files/uk/web/javascript/reference/global_objects/object/index.html deleted file mode 100644 index 6fdb6e8adb..0000000000 --- a/files/uk/web/javascript/reference/global_objects/object/index.html +++ /dev/null @@ -1,267 +0,0 @@ ---- -title: Object -slug: Web/JavaScript/Reference/Global_Objects/Object -tags: - - Constructor - - JavaScript - - NeedsTranslation - - Object - - TopicStub -translation_of: Web/JavaScript/Reference/Global_Objects/Object ---- -<div>{{JSRef}}</div> - -<p>Клас <code><strong>Object</strong></code> відображає один з <a href="/uk/docs/Web/JavaScript/Data_structures">типів даних JavaScript</a>. Він використовується для збереження різноманітних колекцій, що використовують ключі, та більш складних сутностей. Об'єкти можуть бути створені за допомогою конструктора {{jsxref("Object/Object", "Object()")}} або <a href="/uk/docs/Web/JavaScript/Reference/Operators/Ініціалізація_об’єктів">об'єктного ініціалізатора / літерального синтаксису</a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Майже усі об'єкти у JavaScript є екземплярами {{jsxref("Object")}}; типовий об'єкт успадковує властивості (в тому числі методи) від <code>Object.prototype</code>, хоча ці властивості можуть бути перекриті (перевизначені). Однак, можна навмисно створити <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">Object</span></font>, для якого це буде не так (наприклад, за допомогою {{jsxref("Object.create", "Object.create(null)")}}), або змінити його таким чином (наприклад, через {{jsxref("Object.setPrototypeOf")}}).</p> - -<p>Зміни у прототипі <code>Object</code> видимі <strong>усім</strong> об'єктам через ланцюжок прототипів, якщо властивості та методи, яких стосуються ці зміни, не були перевизначені далі у ланцюжку прототипів. Це надає дуже потужний, хоча й потенційно небезпечний, механізм для перевизначення або розширення поведінки об'єкта.</p> - -<p><font face="Open Sans, Arial, sans-serif">Конструктор </font><code>Object</code> створює обгортку об'єкта для заданого значення.</p> - -<ul> - <li>Якщо значенням є {{jsxref("null")}} або {{jsxref("undefined")}}, конструктор створить та поверне порожній об'єкт.</li> - <li>В іншому випадку, він поверне об'єкт того типу, який відповідає наданому значенню.</li> - <li>Якщо значення вже є об'єктом, конструктор поверне це значення.</li> -</ul> - -<p>Під час виклику не у контексті конструктора, <code>Object</code> поводиться ідентично до <code>new Object()</code>.</p> - -<p>Дивіться також <a href="/uk/docs/Web/JavaScript/Reference/Operators/Ініціалізація_об’єктів">Ініціалізатор об'єктів / літеральний синтаксис</a>.</p> - -<h3 id="Видалення_властивості_обєкта">Видалення властивості об'єкта</h3> - -<p>У самому об'єкті не існує методів для видалення своїх властивостей (таких, як {{jsxref("Map.prototype.delete", "Map.prototype.delete()")}}). Щоб зробити це, необхідно скористатись <a href="/uk/docs/Web/JavaScript/Reference/Operators/delete">оператором delete</a>.</p> - -<h2 id="Конструктор">Конструктор</h2> - -<dl> - <dt>{{jsxref("Object/Object", "Object()")}}</dt> - <dd>Створює новий об'єкт <code>Object</code>. Це обгортка для наданого значення.</dd> -</dl> - -<h2 id="Статичні_методи">Статичні методи</h2> - -<dl> - <dt>{{jsxref("Object.assign()")}}</dt> - <dd>Копіює значення усіх перелічуваних особистих властивостей з одного або більше об'єктів у цільовий об'єкт.</dd> - <dt>{{jsxref("Object.create()")}}</dt> - <dd>Створює новий об'єкт із вказаним прототипним об'єктом і властивостями.</dd> - <dt>{{jsxref("Object.defineProperty()")}}</dt> - <dd>Додає зазначену властивість, описану наданим дескриптором, до об'єкта.</dd> - <dt>{{jsxref("Object.defineProperties()")}}</dt> - <dd>Додає зазначені властивості, описані наданими дескрипторами, до об'єкта.</dd> - <dt>{{jsxref("Object.entries()")}}</dt> - <dd>Повертає масив, що містить усі пари <code>[key, value]</code> <strong>особистих</strong> перелічуваних рядкових властивостей данного об'єкта.</dd> - <dt>{{jsxref("Object.freeze()")}}</dt> - <dd>Заморожує об'єкт: інший код не може видаляти або змінювати будь-які властивості.</dd> - <dt>{{jsxref("Object.fromEntries()")}}</dt> - <dd>Повертає новий об'єкт з ітерабельного об'єкта, що містить пари ключ-значення (зворотний до {{jsxref("Object.entries")}}).</dd> - <dt>{{jsxref("Object.getOwnPropertyDescriptor()")}}</dt> - <dd>Повертає дескриптор властивості для зазначенної властивості об'єкта.</dd> - <dt>{{jsxref("Object.getOwnPropertyDescriptors()")}}</dt> - <dd>Повертає об'єкт, що містить дескриптори всіх особистих властивостей об'єкта.</dd> - <dt>{{jsxref("Object.getOwnPropertyNames()")}}</dt> - <dd>Повертає масив, що містить імена всіх <strong>особистих</strong> перелічуваних і неперелічуванних властивостей даного об'єкта.</dd> - <dt>{{jsxref("Object.getOwnPropertySymbols()")}}</dt> - <dd>Повертає масив усіх символьних властивостей, знайдених безпосередньо на даному об'єкті.</dd> - <dt>{{jsxref("Object.getPrototypeOf()")}}</dt> - <dd>Повертає прототип вказаного об'єкта.</dd> - <dt>{{jsxref("Object.is()")}}</dt> - <dd>Перевіряє, чи мають два аргументи однакове значення. Прирівнює усі значення NaN (що відрізняється як від абстрактної рівності, так і від строгої рівності).</dd> - <dt>{{jsxref("Object.isExtensible()")}}</dt> - <dd>Визначає, чи дозволене розширення об'єкта.</dd> - <dt>{{jsxref("Object.isFrozen()")}}</dt> - <dd>Визначає, чи є об'єкт замороженим.</dd> - <dt>{{jsxref("Object.isSealed()")}}</dt> - <dd>Визначає, чи є об'єкт запечатанним.</dd> - <dt>{{jsxref("Object.keys()")}}</dt> - <dd>Повертає масив, що містить імена всіх <strong>особистих</strong> перелічуваних рядкових властивостей даного об'єкта.</dd> - <dt>{{jsxref("Object.preventExtensions()")}}</dt> - <dd>Запобігає будь-яким розширенням об'єкта.</dd> - <dt>{{jsxref("Object.seal()")}}</dt> - <dd>Запобігає можливості іншого коду видаляти властивості об'єкта.</dd> - <dt>{{jsxref("Object.setPrototypeOf()")}}</dt> - <dd>Встановлює прототип (тобто, внутрішню властивість <code>[[Prototype]]</code> об'єкта).</dd> - <dt>{{jsxref("Object.values()")}}</dt> - <dd>Повертає масив, який містить значення, що відповідають усім <strong>особистим</strong> перелічуваним рядковим властивостям даного об'єкта.</dd> -</dl> - -<h2 id="Властивості_екземплярів">Властивості екземплярів </h2> - -<dl> - <dt>{{jsxref("Object.prototype.constructor")}}</dt> - <dd>Визначає функцію, що створює прототип об'єкта.</dd> - <dt>{{jsxref("Object.prototype.proto","Object.prototype.__proto__")}}</dt> - <dd>Вказує на об'єкт, що був використаний як прототип, коли створювався екземпляр об'єкта.</dd> - <dt>{{jsxref("Object.prototype.noSuchMethod","Object.prototype.__noSuchMethod__")}}</dt> - <dd>Дозволяє визначити функцію, яка буде виконуватись, коли на об'єкті викликатиметься неіснуючий елемент.</dd> -</dl> - -<h2 id="Методи_екземплярів">Методи екземплярів</h2> - -<dl> - <dt>{{jsxref("Object.prototype.__defineGetter__()")}}</dt> - <dd>Прив'язує функцію до властивості, яка, під час звернення до неї, викликатиме цю функцію та повертатиме значення, яке повернула функція.</dd> - <dt>{{jsxref("Object.prototype.__defineSetter__()")}}</dt> - <dd>Прив'язує функцію до властивості, яка, під час присвоєння, виконує цю функцію, яка змінює властивість.</dd> - <dt>{{jsxref("Object.prototype.__lookupGetter__()")}}</dt> - <dd>Повертає функцію, прив'язану до вказаної властивості методом {{jsxref("Object.prototype.__defineGetter__()", "__defineGetter__()")}}.</dd> - <dt>{{jsxref("Object.prototype.__lookupSetter__()")}}</dt> - <dd>Повертає функцію, прив'язану до вказаної властивості методом {{jsxref("Object.prototype.__defineSetter__()", "__defineSetter__()")}}.</dd> - <dt>{{jsxref("Object.prototype.hasOwnProperty()")}}</dt> - <dd>Повертає булеве значення, що вказує, чи об'єкт містить вказану властивість як особисту властивість цього об'єкта, а не успадковану через ланцюжок прототипів.</dd> - <dt>{{jsxref("Object.prototype.isPrototypeOf()")}}</dt> - <dd>Повертає булеве значення, що вказує, чи присутній об'єкт, на якому викликається цей метод, у ланцюжку прототипів вказаного об'єкта.</dd> - <dt>{{jsxref("Object.prototype.propertyIsEnumerable()")}}</dt> - <dd>Повертає булеве значення, що вказує, чи встановлений внутрішній <a href="/uk/docs/Web/JavaScript/Data_structures#Properties">атрибут ECMAScript [[Enumerable]]</a>.</dd> - <dt>{{jsxref("Object.prototype.toLocaleString()")}}</dt> - <dd>Викликає {{jsxref("Object.toString", "toString()")}}.</dd> - <dt>{{jsxref("Object.prototype.toString()")}}</dt> - <dd>Повертає рядок, що відображає об'єкт.</dd> - <dt>{{jsxref("Object.prototype.unwatch()")}}</dt> - <dd>Прибирає точку спостереження з властивості об'єкта.</dd> - <dt>{{jsxref("Object.prototype.valueOf()")}}</dt> - <dd>Повертає просту величину вказаного об'єкта.</dd> - <dt>{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}</dt> - <dd>Додає точку спостереження до властивості об'єкта.</dd> -</dl> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_Object_з_типами_undefined_та_null">Використання <code>Object</code> з типами <code>undefined</code> та <code>null</code></h3> - -<p>Наступні приклади зберігають порожній об'єкт <code>Object</code> в <code>o</code>:</p> - -<pre class="brush: js notranslate">var o = new Object(); -</pre> - -<pre class="brush: js notranslate">var o = new Object(undefined); -</pre> - -<pre class="brush: js notranslate">var o = new Object(null); -</pre> - -<h3 id="Використання_Object_для_створення_обєктів_Boolean">Використання <code>Object</code> для створення об'єктів <code>Boolean</code></h3> - -<p>Наступні приклади зберігають об'єкти {{jsxref("Boolean")}} у <code>o</code>:</p> - -<pre class="brush: js notranslate">// еквівалентно до o = new Boolean(true); -var o = new Object(true); -</pre> - -<pre class="brush: js notranslate">// еквівалентно до o = new Boolean(false); -var o = new Object(Boolean()); -</pre> - -<h3 id="Прототипи_обєктів">Прототипи об'єктів</h3> - -<p>Змінюючи поведінку існуючих методів <code>Object.prototype</code>, розгляньте включення коду додаванням вашого розширення до чи після існуючої логіки. Наприклад, цей (неперевірений) код буде попередньо виконувати власну логіку перед тим, як буде виконано вбудовану логіку або інше розширення.</p> - -<p>Коли викликається функція, аргументи виклику містяться у подібній до масиву "змінній" <a href="/uk/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a>. Наприклад, у виклику <code>myFn(a, b, c)</code>, arguments, що знаходиться у тілі <code>myFn</code>, міститиме 3 подібні до масиву елементи, що відповідають <code>(a, b, c)</code>.</p> - -<p>Модифікуючи прототипи з хуками, просто передайте <code>this</code> та arguments (стан виклику) до поточної поведінки, викликавши <code>apply()</code> на функції. Цей шаблон може використовуватись для будь-яких прототипів, наприклад, <code>Node.prototype</code>, <code>Function.prototype</code>, і т. д.</p> - -<pre class="brush: js notranslate">var current = Object.prototype.valueOf; - -// Оскільки моя властивість "-prop-value" є наскрізною та не завжди -// знаходиться в тому самому ланцюжку прототипів, я хочу змінити Object.prototype: -Object.prototype.valueOf = function() { - if (this.hasOwnProperty('-prop-value')) { - return this['-prop-value']; - } else { - // Це не схоже на один з моїх об'єктів, тому повернемось - // до початкової поведінки, відтворивши поточну поведінку якнайкраще. - // Метод apply поводиться як "super" у деяких інших мовах. - // І хоча valueOf() не приймає аргументів, можливо, інший хук їх прийматиме. - return current.apply(this, arguments); - } -}</pre> - -<p>Оскільки JavaScript, насправді, не має об'єктів підкласу, прототип є зручним обхідним рішенням для створення об'єкта у ролі "базового класу" з певними функціями, що діють як об'єкти. Наприклад:</p> - -<pre class="brush: js notranslate">var Person = function(name) { - this.name = name; - this.canTalk = true; -}; - -Person.prototype.greet = function() { - if (this.canTalk) { - console.log('Привіт, я ' + this.name); - } -}; - -var Employee = function(name, title) { - Person.call(this, name); - this.title = title; -}; - -Employee.prototype = Object.create(Person.prototype); - -Employee.prototype.greet = function() { - if (this.canTalk) { - console.log('Привіт, я ' + this.name + ', ' + this.title); - } -}; - -var Customer = function(name) { - Person.call(this, name); -}; - -Customer.prototype = Object.create(Person.prototype); - -var Mime = function(name) { - Person.call(this, name); - this.canTalk = false; -}; - -Mime.prototype = Object.create(Person.prototype); - -var bob = new Employee('Боб', 'будівельник'); -var joe = new Customer('Джо'); -var rg = new Employee('Ред Грін', 'майстер на всі руки'); -var mike = new Customer('Майк'); -var mime = new Mime('Мім'); - -bob.greet(); -// Привіт, я Боб, будівельник - -joe.greet(); -// Привіт, я Джо - -rg.greet(); -// Привіт, я Ред Грін, майстер на всі руки - -mike.greet(); -// Привіт, я Майк - -mime.greet();</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-object-objects', 'Object')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div class="hidden"> -<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> -</div> - -<p>{{Compat("javascript.builtins.Object")}}</p> - -<h2 id="Дивіться_також">Дивіться також</h2> - -<ul> - <li><a href="/uk/docs/Web/JavaScript/Reference/Operators/Ініціалізація_об’єктів">Ініціалізатор об'єктів</a></li> -</ul> |
