Post

[Tech] mutable/immutable & throttle/debounce

[Tech] mutable/immutable & throttle/debounce

면접자스

mutableimmutable은 무엇인가?

  • 뜻에서도 알 수 있듯이, 각각 가변불변의 의미를 담는 말이다.
  • 정확히 무슨 의미가 있을까?

mutable

  • 데이터가 변할 수 있는 경우
  • 참조(reference) 타입
  • mutable한 데이터의 복사, 변경
    Image
  • mutable 메서드
    • pop, push, unshift, shift, splice, fill, reverse, sort 등..

immutable

  • 데이터를 변경할 수 없는 경우
  • 원시(primitive) 타입
  • immutable한 데이터의 복사, 변경
    Image
  • immutable 메서드
    • concat, filter, find, forEach, includes, indexOf, map, join 등..
    • 문자열 메서드(slice, replace, split)



throttledebounce은 무엇인가?

  • 두 용어는 자바스크립트에서, 이벤트를 제어하는 방법을 의미한다.
  • 제어 방식으로, 함수 실행 횟수를 제한하는 방식을 택한다.
  • 두 가지 차이점은 무엇일까?

throttle

  • 이벤트를 일정주기마다 처리하는 방식.
  • 일정 시간에 최대 한 번만 이벤트가 일어나게끔 하여 성능 보완.
  • 스크롤을 감지하는 이벤트에 많이 사용.

debounce

  • 이벤트를 그룹화하여 하나만 처리하는 방식.
  • 마지막이나 처음으로 실행되는 함수만을 실행하여 성능 보완.
  • 검색창 입력이나 자동완성 기능 이벤트에 많이 사용.



✨ 출처

프론트엔드 기술 면접 질문

blog, debounce와 throttle은 뭐고 각각 언제 사용할까?


This post is licensed under CC BY 4.0 by the author.