このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 ⁨2015年9月⁩.

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® 2026 Language Specification
# sec-symbol.prototype.valueof

ブラウザーの互換性

関連情報