브라우저가 dom을 찾는 것도 비용이 발생하는 일입니다.
(1) 여러 번 같은 요소를 찾아야 한다면 변수에 담아놓고 재사용 하는 방법
(2) 집합 요소에서 반복문을 돌려 일치하는 것을 매번 찾기 보다는 변수에 마지막 선택된 값을 담아 놓고 이번에 비교할 값과 비교하는 방법
// 반복문을 돌려서 일치하는 것을 찾기보다는,
items.forEach(function(elem) {
if (elem !== targetElem) elem.classList.remove('open');
});
// 선택했던 요소를 변수에 담아놓고 그 변수가 있을 때 처리하는 게 연산이 더 적다.
if (latestOpenedEl) {
latestOpenedEl.classList.remove('open');
}
등이 있습니다.