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/symbol/toprimitive/index.html | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/symbol/toprimitive/index.html (limited to 'files/uk/web/javascript/reference/global_objects/symbol/toprimitive/index.html') diff --git a/files/uk/web/javascript/reference/global_objects/symbol/toprimitive/index.html b/files/uk/web/javascript/reference/global_objects/symbol/toprimitive/index.html new file mode 100644 index 0000000000..0f9567a8bb --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/symbol/toprimitive/index.html @@ -0,0 +1,75 @@ +--- +title: Symbol.toPrimitive +slug: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive +translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive +--- +
{{JSRef}}
+ +

Symbol.toPrimitive - це символ, який визначає властивість зі значенням-функцією, що викликається для перетворення об'єкта на відповідне просте значення.

+ +
{{EmbedInteractiveExample("pages/js/symbol-toprimitive.html")}}
+ + + +

Опис

+ +

За допомогою властивості Symbol.toPrimitive (що використовується в якості функції) об'єкт може перетворюватись на прості значення. Функція викликається з рядковим аргументом hint, який вказує бажаний тип отриманого примітиву. Аргумент hint може мати значення "number", "string" або "default".

+ +

{{js_property_attributes(0,0,0)}}

+ +

Приклади

+ +

Модифікація простих значень, отриманих перетворенням об'єкта

+ +

Наступний приклад описує, як властивість Symbol.toPrimitive може змінювати прості значення, отримані з об'єкта.

+ +
// Об'єкт без властивості Symbol.toPrimitive.
+var obj1 = {};
+console.log(+obj1);     // NaN
+console.log(`${obj1}`); // "[object Object]"
+console.log(obj1 + ''); // "[object Object]"
+
+// Об'єкт з властивістю Symbol.toPrimitive.
+var obj2 = {
+  [Symbol.toPrimitive](hint) {
+    if (hint == 'number') {
+      return 10;
+    }
+    if (hint == 'string') {
+      return 'привіт';
+    }
+    return true;
+  }
+};
+console.log(+obj2);     // 10        -- hint дорівнює "number"
+console.log(`${obj2}`); // "привіт"  -- hint дорівнює "string"
+console.log(obj2 + ''); // "true"    -- hint дорівнює "default"
+
+ +

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

+ + + + + + + + + + +
Специфікація
{{SpecName('ESDraft', '#sec-symbol.toprimitive', 'Symbol.toPrimitive')}}
+ +

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

+ + + +

{{Compat("javascript.builtins.Symbol.toPrimitive")}}

+ +

Див. також

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