디바운싱과 쓰로틀링은 공통적으로 사용자가 특정 이벤트를 연속적으로 발생시킬 때 이를 제어하여 서버나 브라우저의 부하를 줄이는 목적을 가지고 있습니다.그러나 두 방법의 동작 방식과 사용되는 상황에서의 차이가 존재합니다.아래에서 자세히 살펴보겠습니다. 🍀 디바운싱(debouncing)디바운싱이란 빈번하게 발생하는 이벤트를 특정한 시점 이후에 한 번만 실행시키는 최적화 방법입니다.연이어 함수가 호출된다면 마지막(또는 처음)에 호출된 함수만 실행됩니다.따라서 마지막(또는 처음)에 실행되는 함수를 제외한 나머지 이벤트들은 무시합니다.디바운싱의 목적은 이벤트가 호출되는 빈도를 줄여 성능을 최적화시키는 것입니다. 사용자가 어떤 버튼을 연속적으로 클릭할 때 버튼을 클릭하는 모든 이벤트를 발생시키는 것이 아니라클릭 이..
javascript
🪴 변수와 let변수(variable)란 데이터를 저장할 때 사용하는 '이름이 붙은 저장소'입니다. 변수로 선언된 값은 언제든지 변화할 수 있습니다.자바스크립트에서는 'let'이라는 키워드를 사용하여 변수를 선언합니다. - 출처 사이트자바스크립트에서 변수를 선언할 때 지켜야 할 몇 가지 제약사항이 존재합니다.변수명에는 [문자 | 숫자 | 기호 $, _]만 들어갈 수 있습니다.변수명의 첫 글자에는 숫자가 올 수 없습니다.자바스크립트에서 이미 사용 중인 예약어(reserved word)는 변수명으로 사용할 수 없습니다. 아래는 실제 프로젝트에서 변수를 사용했던 예시입니다.선택된 옵션값(selectedOption)에 따라 정렬 방식(orderBy)이 정해집니다.let orderBy = '';if (selec..
🍄 옵셔널 체이닝 연산자([?.], optional chaining operator)옵셔널 체이닝 연산자(?.)를 사용하면 프로퍼티가 존재하지 않는 중첩 객체에 에러 없이 안전하게 접근할 수 있습니다.- 출처 사이트먼저 체이닝 연산자(.)는참조하는 값이 nullish한 값(null 또는 undefined)이면 존재하지 않는 값에 접근한다는 이유로 에러가 발생합니다. 이때 옵셔널 체이닝 연산자(?.)를 사용하면참조하는 값이 존재하지 않을 때, 에러가 발생하는 대신 undefined를 리턴합니다.반대로 왼쪽 참조값이 nullish한 값이 아니라면 오른쪽 참조값의 결과를 반환합니다. 예를 들어, 아래와 같은 객체가 있을 때 const user = { name: 'Emma', } // user.cat?..
🌵 문제 상황프로그래머스의 문제 중 'JadenCase 문자열 만들기'에서 문자열 중 원하는 문자만 대문자로 바꾸기 위해 '='을 이용하여// 🚫틀린 코드입니다string[i] = string[i].toUpperCase();위와 같은 코드로 새로운 문자를 할당했지만, 문자가 제대로 변경되지 않았습니다. 그 이유는자바스크립트의 원시값은 변경 불가능 = 불변하기 때문입니다.(전체값을 재할당은 가능)따라서 원시값이란 무엇인지와 문자열의 특정 문자를 변경하는 방법에 대해 알아보겠습니다. 🌵 원시값(primitive, 원시 자료형)객체가 아니면서 메서드 또는 속성도 가지지 않는 데이터로, 변수에 저장된 값에 직접적으로 접근할 수 있는 단순한 데이터입니다.원시값의 종류에는 7가지가 있습니다.String(문자)..