[Tech] mutable/immutable & throttle/debounce
[Tech] mutable/immutable & throttle/debounce
mutable과 immutable은 무엇인가?
- 뜻에서도 알 수 있듯이, 각각 가변과 불변의 의미를 담는 말이다.
- 정확히 무슨 의미가 있을까?
mutable
- 데이터가 변할 수 있는 경우
- 참조(reference) 타입
- mutable한 데이터의 복사, 변경
- mutable 메서드
pop,push,unshift,shift,splice,fill,reverse,sort등..
immutable
- 데이터를 변경할 수 없는 경우
- 원시(primitive) 타입
- immutable한 데이터의 복사, 변경
- immutable 메서드
concat,filter,find,forEach,includes,indexOf,map,join등..- 문자열 메서드(
slice,replace,split)
throttle과 debounce은 무엇인가?
- 두 용어는 자바스크립트에서, 이벤트를 제어하는 방법을 의미한다.
- 제어 방식으로, 함수 실행 횟수를 제한하는 방식을 택한다.
- 두 가지 차이점은 무엇일까?
throttle
- 이벤트를 일정주기마다 처리하는 방식.
- 일정 시간에 최대 한 번만 이벤트가 일어나게끔 하여 성능 보완.
스크롤을 감지하는 이벤트에 많이 사용.
debounce
- 이벤트를 그룹화하여 하나만 처리하는 방식.
- 마지막이나 처음으로 실행되는 함수만을 실행하여 성능 보완.
검색창 입력이나자동완성 기능이벤트에 많이 사용.
✨ 출처
blog, debounce와 throttle은 뭐고 각각 언제 사용할까?
This post is licensed under CC BY 4.0 by the author.