タグ

JavaScriptとECMAScript6に関するpotato777のブックマーク (2)

  • @@toStringTagが実装された - JS.next

    概要 例えば『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

    @@toStringTagが実装された - JS.next
  • Symbolについて - JS.next

    概要 ES2015ではUndefined、Null、Boolean、Number、String、Objectの6つの型に加えて、新しい型Symbolが導入された。 シンボルはプリミティブ型で、文字列のようにプロパティのキーとして使える特徴を持つ。 振る舞い シンボルはSymbolコンストラクタを呼ぶことで作られ、その時に引数として文字列を渡せば名前を持たせることができる。 sym1 = Symbol() sym2 = Symbol('name') typeof演算子で評価すると"symbol"が返される。 typeof sym1 // "symbol" Symbolコンストラクタをnew付きで呼び出すことは出来ないが、シンボルをObjectコンストラクタに渡すことでラップすることはできる。 new Symbol() // TypeError symobj = Object(sym2) ty

    Symbolについて - JS.next
  • 1