FE/개념정리 5

JS - Promise.all은 언제 사용 할까?

Promise.all이란?Promise.all() 메서드는 인자로 받은 Promise 인스턴스들의 처리 결과를 담은 새로운 Promise를 반환합니다. 인자로 전달된 Promise 인스턴스들이 모두 fulfilled 상태가 되면 결과 Promise는 모든 fulfilled 값을 가진 배열을 인수로 가진 fulfilled 상태가 되고, 하나 이상의 Promise가 rejected 상태가 되면 가장 먼저 rejected 상태가 된 Promise의 이유로 결과 Promise는 rejected 상태가 됩니다.병렬 처리Promise.all() 을 이용하면 병렬적으로 여러 개의 Promise를 실행할 수 있습니다. 모든 Promise가 fulfilled 상태가 되기 전까지는 결과 Promise가 fulfilled ..

FE/개념정리 2023.02.27

JS - Throttle 와 Debounce

왜 써야 하는데?짧은 시간에 많은 이벤트가 발생하는 경우 이벤트 핸들러가 과도하게 호출되어서 성능의 문제를 발생시키기 때문에! 나아가 사용자 경험을 헤칠 수 있다  즉! 이벤트 핸들러가 많은 연산을 수행하는 경우에 대해서 제약을 걸어 제어 할 수 있는 수준으로 이벤트를 발생시키는 것을 목표로 함! Throttle입력 주기를 방해하지 않고 일정시간 동안 입력을 모아서 한번에 출력을 제한여러 번 발생하는 이벤트를 일정 시간 동안 최대 한 번만 실행되도록이벤트 발생 시간 이후 일정 시간 동안만 기다리고 이벤트를 실행 후 재차 기다린다는 점입력이 시작되면 일정주기로 게속 실행예시 - 무한 스크롤Debounce입력 주기가 끝나면 출력여러번의 이벤트에서 가장 마지막 이벤트만 실행되도록 만드는 개념마지막 이벤트에서 ..

FE/개념정리 2023.02.02

JS - 원시 타입 vs 참조 타입

원시타입 (Primitive Type)변수들의 데이터 복사가 일어날 때 메모리 공간을 새로 확보하여 독립적인 값을 저장string, number, bigint, boolean, undefined, ES6부터 추가된 symbol변수에 할당될때, 메모리의 고정 크기로 원시 값을 저장값이 변하지 않는 불변성재할당시, 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키는 메모리가 달라졌을 뿐이다. 참조타임 (reference Type)메모리에 직접 접근하지 않고 메모리의 위치 (주소)에 대한 간접적인 참조를 통해 메모리에 접근원시 타입을 제외한 나머지 ( 배열, 객체, 함수 등등)데이터 자체는 별도의 메모리 공간에 저장되고 , 변수에 할당 시 데이터에 대한 주소가 저장됨주소는 특별한 동적인 데이터 보관함(he..

FE/개념정리 2023.01.17

React - 불변성은 왜 중요하고, 지켜져야 하는가

불변성 : 값이나 상태를 변경하지 않는 것??? 이해가 안 되니 일단 마저 읽어보시죠    1. 효과적인 상태 업데이트  리액트의 상태 업데이트에 대한 기본 원리부모 컴포넌트가 리렌더링을 하면 자식 컴포넌트도 리 렌더링 하게 되며, 객체의 속성 하나하나를 비교하는 것이 아니라 참조값만 비교하여 상태 변화를 감지한다. 만약에 불변성을 지키지 않는다면 상태 변화를 감지할 수가 없을 것이다! 그래서 원본 데이터를 직접 수정하는 것이 아니라 복사본을 만들어서 사용한다 즉 얕은 비교를 실행하여 성능 최적화를 만들어내게 된다! 2. 사이드 이펙트 방지원시 타입은 불변성의 특징을 가지고 있지만, 참조 타입인 경우 새로운 값을 변경할 때 원본 데이터가 변경된다(즉 불변성이 지켜지지 않는다) 원본 데이터가 변경될 경우 ..

FE/개념정리 2022.05.03