Функцыя ў аб'екце ў 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]();
Дадайце ў аб'ект функцыю, якая будзе выводзіць бягучы час. Выклічце гэтую функцыю.