Symbol.prototype.valueOf()

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 值的 valueOf() 方法会返回该符号(symbol)的值。

尝试一下

const symbol1 = Symbol("foo");

console.log(typeof Object(symbol1));
// Expected output: "object"

console.log(typeof Object(symbol1).valueOf());
// Expected output: "symbol"

语法

js
valueOf()

参数

无。

返回值

指定的 Symbol 对象的原始值。

描述

SymbolvalueOf() 方法会以 Symbol 数据类型返回 Symbol 对象的原始值。

JavaScript 调用 valueOf() 方法会将对象转换为原始值。你很少需要自己调用 valueOf() 方法;当遇到期望原始值的对象时,JavaScript 会自动调用它。

示例

使用 valueOf()

js
const sym = Symbol("example");
sym === sym.valueOf(); // true

规范

Specification
ECMAScript® 2025 Language Specification
# sec-symbol.prototype.valueof

浏览器兼容性

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
valueOf

Legend

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

Full support
Full support

参见