어레이의 해시가 o
이라고 가정 해 봅니다. 각 이벤트가 0 개 이상의 콜백을 가질 수있을 때 이벤트에 대한 등록 된 콜백.배열을 하나의 요소로 초기화하거나 배열이 존재하는 경우 요소를 밀어 넣으십시오.
ES6에서 더 좋은 방법이 있습니까?
if (key in o) o[key].push(x); else o[key] = [x]
"더 나은"이란 말은 다른 개발자가 쉽게 이해할 수 있음을 의미합니다. 가능하면 더 간결하지만 가독성을 희생 시키지는 않습니다. 특히 (공통적 인) 문제는 o
이 더 긴 표현 인 경우가 많다는 것입니다. this.listeners
, 3 회 반복하는 것은 차선책으로 보입니다. 따라서 실제 코드는 다음과 같을 수 있습니다.
if (event in this.listeners)
this.listeners[event].push(callback);
else
this.listeners[event] = [callback];
을 – Jakob