JS.nextスマートフォン用の表示で見るJS.nextJavaScriptの最新実装情報を追うブログこの広告は、90日以上更新していないブログに表示しています。概要ES2015ではUndefined、Null、Boolean、Number、String、Objectの6つの型に加えて、新しい型Symbolが導入された。シンボルはプリミティブ型で、文字列のようにプロパティのキーとして使える特徴を持つ。振る舞いシンボルはSymbolコンストラクタを呼ぶことで作られ、その時に引数として文字列を渡せば名前を持たせることができる。Symbol('name')typeof演算子で評価すると"symbol"が返される。"symbol"Symbolコンストラクタをnew付きで呼び出すことは出来ないが、シンボルをObjectコンストラクタに渡すことでラップすることはできる。"object"各シンボルはユニークであり、原則他のシンボルと同じものを作り出すことはできない。自分自身のシンボルを返す。名前が含まれた表記を返す。"Symbol(name)"但しシンボルやシンボルオブジェクトを数値型や、暗黙的に文字列型に変換しようとするとエラーになる。真偽値として評価するとtrueとして扱われる。trueプロパティのキーとして使うシンボルは文字列と同じようにプロパティのキーとして使える。246但し文字列と違ってそのシンボルを直接持っていないとプロパティの値にアクセスできないので、表に出したくない(プライベートっぽい)メンバを実現するのに使える。1シンボルを登録する前記したように、シンボルはユニークであるが、異なる場所間で同一のシンボルを共有したい場合がある。一致しないその場合にSymbol.keyを使うことで、初回は文字列に紐付けられた新しいシンボルが返される。その後に同じキーでSymbol.forされると、登録されたシンボルが返される。falseグローバルが異なる環境同士でも問題なく共有することができる。trueSymbol.keyForでシンボルがどういう文字列に紐付けられているかを確認できる。undefinedビルトインシンボルについてES2015では特別な意味を持つシンボルがいくつか定義されており、それらのシンボルプロパティをオブジェクトに作っておくと、特定の場面で参照され値が利用される。待ち焦がれた人も多いことだろう。--harmony_static_fieldsはてなブログをはじめよう!boaoaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。