diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/tostring/index.html')
-rw-r--r-- | files/uk/web/javascript/reference/global_objects/object/tostring/index.html | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/tostring/index.html b/files/uk/web/javascript/reference/global_objects/object/tostring/index.html deleted file mode 100644 index 681a6c6f06..0000000000 --- a/files/uk/web/javascript/reference/global_objects/object/tostring/index.html +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: Object.prototype.toString() -slug: Web/JavaScript/Reference/Global_Objects/Object/toString -tags: - - JavaScript - - Об'єкт - - метод - - прототип -translation_of: Web/JavaScript/Reference/Global_Objects/Object/toString ---- -<div>{{JSRef}}</div> - -<div>Метод <code><strong>toString()</strong></code> повертає рядок, який відображає об'єкт.</div> - -<div></div> - -<div>{{EmbedInteractiveExample("pages/js/object-prototype-tostring.html")}}</div> - -<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>obj</var>.toString()</code></pre> - -<h3 id="Повертає">Повертає</h3> - -<p>Рядок, який відображає об'єкт.</p> - -<h2 id="Опис">Опис</h2> - -<p>Кожен об'єкт має метод <code>toString()</code>, який автоматично викликається, коли об'єкт повинен бути відображений як рядок, або коли об'єкт знаходиться у виразі, де очікується рядок. За замовчуванням, метод <code>toString()</code> успадковується усіма об'єктами, похідними від <code>Object</code>. Якщо цей метод не був перезаписаний у користувацькому об'єкті, то <code>toString()</code> поверне "<code>[object <var>type</var>]</code>", де <code><var>type</var></code> - це тип об'єкта. Наступний код це демонструє:</p> - -<pre class="brush: js">var o = new Object(); -o.toString(); // повертає [object Object] -</pre> - -<div class="note"> -<p><strong>Примітка:</strong> Починаючи з JavaScript 1.8.5, <code>toString()</code>, викликаний для {{jsxref("null")}}, повертає <code>[object <em>Null</em>]</code>, для {{jsxref("undefined")}} повертає <code>[object <em>Undefined</em>]</code>, як визначенно у 5-й версії ECMAScript і згодом у Ерраті. Дивіться {{anch("Використання_toString_для_визначення_класу_обєкта", "Використання toString() для визначення класу об'єкта")}}.</p> -</div> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Перезапис_стандартного_методу_toString">Перезапис стандартного методу <code>toString</code></h3> - -<p>Ви можете створити функцію, яка викликатиметься замість стандартного методу <code>toString()</code>. Метод <code>toString()</code> не приймає жодних аргументів і має повернути рядок. Метод <code>toString()</code>, який ви створите, може повертати будь-яке значення, але найбільш корисним буде, якщо він повертатиме інформацію про об'єкт.</p> - -<p>Наступний код визначає тип об'єкта <code>Dog</code> і створює <code>theDog</code>, об'єкт типу <code>Dog</code>:</p> - -<pre class="brush: js">function Dog(name, breed, color, sex) { - this.name = name; - this.breed = breed; - this.color = color; - this.sex = sex; -} - -theDog = new Dog('Галя', 'лабрадор', 'шоколадна', 'самиця'); -</pre> - -<p>Якщо ви викличете метод <code>toString()</code> для цього користувацького об'єкта, він поверне стандартне значення, успадковане від {{jsxref("Object")}}:</p> - -<pre class="brush: js">theDog.toString(); // повертає [object Object] -</pre> - -<p>Наступний код створює і присвоює значення <code>dogToString()</code>, щоб перезаписати стандартний метод <code>toString()</code>. Ця функція генерує рядок, що складається з імені, породи, кольору і статі об'єкта, у вигляді "<code>властивість = значення;</code>".</p> - -<pre class="brush: js">Dog.prototype.toString = function dogToString() { - var ret = 'Собака ' + this.name + ' - ' + this.color + ' ' + this.sex + ' ' + this.breed; - return ret; -} -</pre> - -<p>або</p> - -<pre class="brush: js">Dog.prototype.toString = function dogToString() { - return `Собака ${this.name} - ${this.color} ${this.sex} ${this.breed}`; -} -</pre> - -<p>Завдяки цьому коду, як тільки <code>theDog</code> буде використаний у контексті рядка, JavaScript автоматично викличе новий метод <code>toString()</code>, який поверне наступний рядок:</p> - -<pre class="brush: js">"Собака Галя - шоколадна самиця лабрадор" -</pre> - -<h3 id="Використання_toString_для_визначення_класу_обєкта">Використання toString() для визначення класу об'єкта</h3> - -<p>Метод <code>toString()</code> може бути використаний з будь-яким об'єктом, щоб отримати його клас. Щоб використати <code>Object.prototype.toString()</code> для будь-якого об'єкта, необхідно викликати {{jsxref("Function.prototype.call()")}} або {{jsxref("Function.prototype.apply()")}}, передаючи об'єкт, який ви хочете дослідити, першим параметром (<code>thisArg</code>).</p> - -<pre class="brush: js">var toString = Object.prototype.toString; - -toString.call(new Date); // [object Date] -toString.call(new String); // [object String] -toString.call(Math); // [object Math] - -// Починаючи з JavaScript 1.8.5 -toString.call(undefined); // [object Undefined] -toString.call(null); // [object Null] -</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.prototype.tostring', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-object.prototype.tostring', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.2.4.2', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Виклик на {{jsxref("null")}} повертає <code>[object <em>Null</em>]</code>, а {{jsxref("undefined")}} повертає <code>[object <em>Undefined</em>]</code></td> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Початкове визначення. Реалізоване у JavaScript 1.0.</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Object.toString")}}</p> -</div> - -<h2 id="Дивіться_також">Дивіться також</h2> - -<ul> - <li>{{jsxref("Object.prototype.toSource()")}}</li> - <li>{{jsxref("Object.prototype.valueOf()")}}</li> - <li>{{jsxref("Number.prototype.toString()")}}</li> - <li>{{jsxref("Symbol.toPrimitive")}}</li> -</ul> |