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.

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 オブジェクトのプリミティブ値です。

解説

valueOf()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

ブラウザーの互換性

BCD tables only load in the browser

関連情報