From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/object/tostring/index.html | 148 +++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/object/tostring/index.html (limited to 'files/uk/web/javascript/reference/global_objects/object/tostring') 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 new file mode 100644 index 0000000000..681a6c6f06 --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/object/tostring/index.html @@ -0,0 +1,148 @@ +--- +title: Object.prototype.toString() +slug: Web/JavaScript/Reference/Global_Objects/Object/toString +tags: + - JavaScript + - Об'єкт + - метод + - прототип +translation_of: Web/JavaScript/Reference/Global_Objects/Object/toString +--- +
{{JSRef}}
+ +
Метод toString() повертає рядок, який відображає об'єкт.
+ +
+ +
{{EmbedInteractiveExample("pages/js/object-prototype-tostring.html")}}
+ + + +

Синтаксис

+ +
obj.toString()
+ +

Повертає

+ +

Рядок, який відображає об'єкт.

+ +

Опис

+ +

Кожен об'єкт має метод toString(), який автоматично викликається, коли об'єкт повинен бути відображений як рядок, або коли об'єкт знаходиться у виразі, де очікується рядок. За замовчуванням, метод  toString() успадковується усіма об'єктами, похідними від Object. Якщо цей метод не був перезаписаний у користувацькому об'єкті, то toString() поверне "[object type]", де type - це тип об'єкта. Наступний код це демонструє:

+ +
var o = new Object();
+o.toString(); // повертає [object Object]
+
+ +
+

Примітка: Починаючи з JavaScript 1.8.5, toString(), викликаний для {{jsxref("null")}}, повертає [object Null], для {{jsxref("undefined")}} повертає [object Undefined], як визначенно у 5-й версії ECMAScript і згодом у Ерраті. Дивіться {{anch("Використання_toString_для_визначення_класу_обєкта", "Використання toString() для визначення класу об'єкта")}}.

+
+ +

Приклади

+ +

Перезапис стандартного методу toString

+ +

Ви можете створити функцію, яка викликатиметься замість стандартного методу toString(). Метод toString() не приймає жодних аргументів і має повернути рядок. Метод toString(), який ви створите, може повертати будь-яке значення, але найбільш корисним буде, якщо він повертатиме інформацію про об'єкт.

+ +

Наступний код визначає тип об'єкта Dog і створює theDog, об'єкт типу Dog:

+ +
function Dog(name, breed, color, sex) {
+  this.name = name;
+  this.breed = breed;
+  this.color = color;
+  this.sex = sex;
+}
+
+theDog = new Dog('Галя', 'лабрадор', 'шоколадна', 'самиця');
+
+ +

Якщо ви викличете метод toString() для цього користувацького об'єкта, він поверне стандартне значення, успадковане від {{jsxref("Object")}}:

+ +
theDog.toString(); // повертає [object Object]
+
+ +

Наступний код створює і присвоює значення dogToString(), щоб перезаписати  стандартний метод toString(). Ця функція генерує рядок, що складається з імені, породи, кольору і статі об'єкта, у вигляді "властивість = значення;".

+ +
Dog.prototype.toString = function dogToString() {
+  var ret = 'Собака ' + this.name + ' - ' + this.color + ' ' + this.sex + ' ' + this.breed;
+  return ret;
+}
+
+ +

або

+ +
Dog.prototype.toString = function dogToString() {
+  return `Собака ${this.name} - ${this.color} ${this.sex} ${this.breed}`;
+}
+
+ +

Завдяки цьому коду, як тільки theDog буде використаний у контексті рядка, JavaScript автоматично викличе новий метод toString(), який поверне наступний рядок:

+ +
"Собака Галя - шоколадна самиця лабрадор"
+
+ +

Використання toString() для визначення класу об'єкта

+ +

Метод toString() може бути використаний з будь-яким об'єктом, щоб отримати його клас. Щоб використати Object.prototype.toString() для будь-якого об'єкта, необхідно викликати {{jsxref("Function.prototype.call()")}} або {{jsxref("Function.prototype.apply()")}}, передаючи об'єкт, який ви хочете дослідити, першим параметром (thisArg).

+ +
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]
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ESDraft', '#sec-object.prototype.tostring', 'Object.prototype.toString')}}{{Spec2('ESDraft')}}
{{SpecName('ES6', '#sec-object.prototype.tostring', 'Object.prototype.toString')}}{{Spec2('ES6')}}
{{SpecName('ES5.1', '#sec-15.2.4.2', 'Object.prototype.toString')}}{{Spec2('ES5.1')}}Виклик на {{jsxref("null")}} повертає [object Null], а {{jsxref("undefined")}} повертає [object Undefined]
{{SpecName('ES1')}}{{Spec2('ES1')}}Початкове визначення. Реалізоване у JavaScript 1.0.
+ +

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

+ +
+ + +

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

+
+ +

Дивіться також

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