Symbol.prototype[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 September 2015.

[Symbol.toPrimitive]() 方法可将 Symbol 对象转换为 symbol 值。

语法

js
Symbol()[Symbol.toPrimitive](hint)

返回值

指定的 Symbol 对象的原始值。

描述

hint 参数未使用时,Symbol[Symbol.toPrimitive]() 方法返回 Symbol 对象的原始值作为数据类型返回。

JavaScript 调用 [Symbol.toPrimitive]() 方法将一个对象转换为原始值表示。你不需要自己调用 [Symbol.toPrimitive]() 方法;当对象需要被转换为原始值时,JavaScript 会自动地调用该方法。

示例

使用 [Symbol.toPrimitive]()

js
const sym = Symbol("example");
sym === sym[Symbol.toPrimitive](); // true

规范

Specification
ECMAScript® 2025 Language Specification
# sec-symbol.prototype-%symbol.toprimitive%

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
[Symbol.toPrimitive]

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见