728x90
반응형
Javascript/Concept2025. 4. 28. 15:52비동기 함수의 단점과 프로미스.

1. 비동기 처리를 위한 콜백 패턴의 단점 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다.하지만, 전통적인 콜백 패턴에는 몇 가지 단점이 있다. - 콜백 헬로 인하여 가독성이 나쁘다.- 비동기 처리 중 발생한 에러 처리가 곤란하다.- 여러 개의 비동기 처리를 한 번에 처리하는 데도 한계가 있다. 먼저, 전통적인 콜백 패턴의 단점에 대하여 자세히 알아보도록 하겠다. 1-1. 콜백 헬로 인한 가독성 저하일반적으로 비동기 함수 내부의 콜백 함수, 이벤트 핸들러의 return문은 아무런 의미가 없다.비동기 함수 내부의 콜백 함수, 이벤트 핸들러는 비동기 작업으로 인하여 실행되기도 전에 종료된다.그렇기 때문에 즉시 값을 반환할 수 없다.(undefined) 그리고 콜백 함수의 반환문은 ..

동기 함수와 비동기 함수
Javascript/Concept2025. 4. 28. 14:00동기 함수와 비동기 함수

1. 동기 함수비동기 함수에 대하여 제대로 알아보기 전에, 먼저 동기 함수에 대하여 먼저 알아보도록 하겠다. 동기 함수란?동기 함수란 현재 실행 중인 태스크가 종료될 때까지 다음에 실행되는 태스크가 대기한다.(블로킹)즉시 결과를 반환하고, 실행 흐름을 예측 가능하고 직관적으로 만든다.동기 함수의 장점: 태스크를 순서대로 하나씩 처리하므로 실행 순서가 보장된다.동기 함수의 단점: 앞선 태스크가 종료될 때까지 이후 태스크들이 블로킹되는 단점이 있다. 함수를 호출시 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다.이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택(콜 스텍)에 푸쉬되고 함수 코드가 실행된다.함수가 호출된 순서대로 순차적으로 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸쉬된다.함수 코드의 ..

Javascript/Concept2025. 4. 17. 08:31타이머 - Debounce와 Throttle

짧은 시간 연속으로 발생하는 이벤트(scroll, resize, input, mousemove 등)는과도하게 호출되어 성능에 문제를 일으킬 수 있다.이럴 때 성능 최적화를 위해 사용되는 기술인 Debounce와 Throttle을 사용할 수 있다. Debounce와 Throttle은짧은 시간 간격으로 연속으로 발생하는 이벤트를 그룹화하여 과도한 이벤트 호출을 방지하는 프로그래밍 기법이다.이를 구현하기 위해서는 타이머 함수가 사용된다. 1. Debounce:특정 시간동안 이벤트가 발생하지 않을 때, 딱 한 번만 함수를 실행하는 것이다.이벤트가 연속적으로 발생하면 이전의 실헹 대기 중인 함수 호출을 취소하고,가장 마지막 이벤트 발생 시점부터 설정된 시간(delay) 이후에 함수를 실행한다. 주로 사용하는 곳은..

Javascript/Concept2025. 2. 17. 20:37slice()와 splice()의 차이점

slice(), splice() 메서드는 상당히 비슷한 쓰임새를 가지고 있다.하지만, 둘은 차이점이 분명 존재한다.  splice새로운 배열을 반환하는 동시에 원래 배열을 수정한다. 제거된 요소를 포함할 수 있고, 새로 삽입된 요소들 또한 포함할 수 있다.array.splice(start, deleteCount, item1, item2, ...)=> 1. start(필수):변경을 시작할 index 번호.이 index부터 요소가 제거되거나 새로운 요소가 삽입되게 된다.음수 값을 사용하면 배열의 끝에서부터 역방향으로 계산하게 된다. => 2. deleteCount(옵션):제거할 요소의 갯수.생략하면 start index부터 배열의 끝까지 모든 요소가 제거되게 된다. => item1, item2, ...(옵션..

728x90
반응형
image