ES2015 (ES6)のSymbolを使う

シンボルを作る

シンボルはSymbolコンストラクタで生成します。

const FOO = Symbol();
const BAR = Symbol();

Symbolコンストラクタは、引数に文字列を受け取ることができます。

const FOO = Symbol('FOO');
const BAR = Symbol('BAR');

シンボルを比較する

シンボルは自分自身以外とは一致しません。

const FOO = Symbol();
const BAR = Symbol();

console.log(FOO == FOO); //=> true
console.log(FOO == BAR); //=> false

コンストラクタの引数が同じ文字列でも、シンボルは一致しません。

const FOO = Symbol('TEST');
const BAR = Symbol('TEST');

console.log(FOO == BAR); //=> false

シンボルを取得する

Symbol.for(文字列)を使うと、同じシンボルを取得することができます。

const FOO = Symbol.for('TEST');
const BAR = Symbol.for('TEST');

console.log(FOO == BAR); //=> true

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください