SymbolはES2015から新たに導入されたプリミティブデータ型の1つ。
プリミティブデータ型とはオブジェクトではないデータ型のことで、文字列、数値、真偽値、null、undefined、そしてSymbolがある。
SymbolはSymbol関数によってのみ作成することができ、シンボルの実体は決して競合しないユニークなキーのようなもの(文字列ではない)。

const sym1 = Symbol();
const sym2 = Symbol();
console.log(sym1); // [object Symbol] { ... }
console.log(sym1 === sym2); // false
const sym3 = Symbol('example');
console.log(sym3.toString()); // Symbol(example)

Symbolはオブジェクトのプロパティのキーとして使用することができるため、名前の衝突を回避することに活用することができる。

ウェルノウンシンボル

JavaScriptにであらかじめ定義されているビルトインシンボルのこと。
言語内部のふるまいに使用している。
例:Symbol.iterator(for…of で使用されている)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA