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

View in English Always switch to English

Symbol.prototype.valueOf()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。

valueOf()Symbol 値のメソッドで、このシンボル値を返します。

試してみましょう

const symbol = Symbol("foo");

console.log(typeof Object(symbol));
// 予想される結果: "object"

console.log(typeof Object(symbol).valueOf());
// 予想される結果: "symbol"

構文

js
valueOf()

引数

なし。

返値

指定された Symbol オブジェクトのプリミティブ値です。

解説

valueOf()Symbol オブジェクトのメソッドで、 Symbol オブジェクトのプリミティブ値をシンボルデータ型として返します。

JavaScript はオブジェクトをプリミティブ値に変換するために valueOf() メソッドを呼び出します。valueOf() メソッドを自分で呼び出す必要はほとんどありません。JavaScript は、プリミティブ値が期待されているオブジェクトに遭遇したときに、自動的にこれを呼び出します。

valueOf() の使用

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

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-symbol.prototype.valueof

ブラウザーの互換性

関連情報