JavaScriptにおけるオブジェクト内の関数
シンボルを使用すると、オブジェクトに関数を追加でき、 これらの関数は反復処理に参加しません。 試してみましょう。 次のオブジェクトがあるとします:
let obj = {a: 1, b: 2, c: 3};
シンボルを作成します:
let sym = Symbol();
作成したシンボルをキーとして、 オブジェクトに関数を書き込みます:
obj[sym] = function() {
console.log('!!!');
};
オブジェクトを反復処理する際、この関数は 反復処理されません:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
同じ変数である私たちのシンボルをキーとして渡し、 関数を取得します:
let func = obj[sym];
func();
コードを短縮することができます:
obj[sym]();
現在時刻を出力する関数をオブジェクトに追加してください。 この関数を呼び出してください。