Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Symbol
  6. Symbol.toPrimitive

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Symbol.toPrimitive

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2017 г..

Symbol.toPrimitive является символом (symbol), который описывает свойство объекта как функцию, которая вызывается при преобразовании объекта в соответствующее примитивное значение.

Интерактивный пример

const object1 = {  [Symbol.toPrimitive](hint) {    if (hint === "number") {      return 42;    }    return null;  },};console.log(+object1);// Expected output: 42

Описание

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

Примеры

Описанные ниже примеры показывают как с помощью свойстваSymbol.toPrimitive можно привести объект к примитивному типу.

js
// Объект без свойства Symbol.toPrimitivevar obj1 = {};console.log(+obj1); // NaNconsole.log(`${obj1}`); // "[object Object]"console.log(obj1 + ""); // "[object Object]"// Объект со свойством Symbol.toPrimitivevar obj2 = {  [Symbol.toPrimitive](hint) {    if (hint == "number") {      return 10;    }    if (hint == "string") {      return "hello";    }    return true;  },};console.log(+obj2); // 10        -- желаемый тип (hint) - "number"console.log(`${obj2}`); // "hello"   -- желаемый тип (hint) - "string"console.log(obj2 + ""); // "true"    -- желаемый тип (hint) - "default"

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

Specification
ECMAScript® 2026 Language Specification
# sec-symbol.toprimitive

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp