JS.next

JavaScriptの最新実装情報を追うブログ

@@toStringTagが実装された

概要

例えば『Object.prototype.toString.call([])』と呼ぶと、『"[object Array]"』と帰ってくるが、
その「Array」の部分をどういう表記にするか設定できるビルトインシンボルが実装された。


function Cat() { }
var cat = new Cat

console.log( '' + cat )  // "[object Object]"

Cat.prototype[Symbol.toStringTag] = 'Cat'

console.log( '' + cat )  // "[object Cat]"


一部のビルドインコンストラクタには@@toStringTagが定義されている。

console.log( Map.prototype[Symbol.toStringTag] )  // "Map"


実装されるバージョン

V8 3.30.16 4.2.51(ビルドインコンストラクタと同名の設定も可能になった)