자바스크립트에서 객체 내 함수
심볼을 사용하면 객체에 함수를 추가할 수 있으며, 이 함수들은 순회에 참여하지 않습니다. 한번 시도해 봅시다. 객체가 있다고 가정합시다:
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]();
객체에 현재 시간을 출력하는 함수를 추가하세요. 이 함수를 호출하세요.