JavaScriptのSymbol特性と使用
796 ワード
Symbolは、JavaScriptにおけるSymbol関数を用いて、このタイプのインスタンスを作成するデータタイプである.次のように:
Symbol()が生成する値は匿名であり、列挙できない、一意の値である.Symbolタイプの唯一の合理的な使い方は、Symbol値を変数で格納し、格納された値でオブジェクト属性を作成することである.
let sym = Symbol("str");
関数が入ってきた文字列は、作成されたインスタンスを記述するために使用されます.Symbol()が生成する値は匿名であり、列挙できない、一意の値である.Symbolタイプの唯一の合理的な使い方は、Symbol値を変数で格納し、格納された値でオブジェクト属性を作成することである.
const pro = Symbol();
let obj = {};
obj[pro] = "symbol prototype";
自分で創建する以外に、JavaScriptはいくつか内の建てたsmbolを提供しました.例えばSymbol.iteratorは、オブジェクトのデフォルトのディケンサを返すために使用され、Objectが反復的な動作をするために使用されます.var obj = {
a: 1
};
obj[Symbol.iterator] = function () {
return {
next: function () {
return {
/* , ,done true */
value: 1,
done: false
}
}
};
}
for (let val of obj) {
console.log(val);// 1
}