JavaScript Symbol について
Symbol を使用することでユニークな値を作ることができます。
主に、オブジェクトのキーに使うことで、キーの重複を防ぐことで活用できます。
まず、Symbolの特性として、必ずユニークになります。
const mykey = Symbol('key');
const mykey2 = Symbol('key');
console.log(mykey === mykey2); //false
Objectに対して独自のメソッドを追加しようとした時に、名前がかぶってしまって意図せず上書きされてしまうことがあります。
Object.prototype.myFunc = () => 'Hello myFunc';
Object.prototype.myFunc = () => 'Hi myFunc';
console.log(Object.myFunc()); // Hi myFunc 上書きされてしまう
Symbol を使うと、キーの重複を防ぐことができます。
const myFunc = Symbol('myFunc');
const myFunc2 = Symbol('myFunc');
Object.prototype[myFunc] = () => 'Hello myFunc';
Object.prototype[myFunc2] = () => 'Hi myFunc';
console.log(Object[myFunc]()); // Hello myFunc
console.log(Object[myFunc2]()); // Hi myFunc
最近のコメント