概要 オブジェクトがプリミティブ型に変換される際に、どんな処理を行いどんな値を返すか決めるためのビルトインシンボルが実装された。 解説 JavaScriptでは様々な場合で様々にオブジェクトがプリミティブ型に変換される。 例えば「Number(obj)」や「String(obj)」とすると、それぞれ数値型と文字列型が期待され、 通常それぞれオブジェクトの「valueOf」メソッドと「toString」メソッドが呼び出されることになる。 一方、例えば加算演算子「+」で評価されるとき、両辺の値はまずプリミティブ型に変換されるが、これには期待される型はない。 そのような時、殆どのオブジェクトは「valueOf」メソッドが呼ばれるが、Dateオブジェクトは「toString」メソッドが呼ばれるという特殊な振る舞いをする。 そのようにオブジェクトがプリミティブ型に変換されるときの振る舞いを制御したい