logo

자바스크립트 동기와 비동기 파헤치기

language-logoJavascript

• 자바스크립트는 싱글스레드 언어로 한번에 하나의 작업만 처리할 수 있으며, 이를 동기 처리라고 한다. 그러나 오래 걸리는 작업을 처리할 때는 비동기 처리를 통해 다른 작업을 먼저 처리하고, 오래 걸리는 작업은 나중에 처리하는 방식을 사용한다. 이는 자바스크립트가 아닌 브라우저가 처리해주는 것이다.
• 자바스크립트에서는 콜백함수를 이용해 코드를 원하는 대로 실행시킬 수 있으며, 이는 비동기 처리와 관련이 없는 디자인 패턴이다. 그러나 콜백함수만 의존하게 되면 코드 가독성이 떨어지고, 무한 콜백 지옥에 빠질 수 있으므로, 순차적 코드를 사용하기 위해 Promise라는 ES6 신문법을 사용한다.
• 자바스크립트에서 비동기 처리를 위해 콜백 함수, 프로미스, async/await 등의 디자인 패턴을 사용한다. 이들은 코드의 가독성을 높이고, 콜백 지옥에 빠지는 것을 방지한다.
• 비동기 작업은 자바스크립트가 싱글 스레드 언어이기 때문에 성능 저하를 방지하기 위해 필요하다. 이를 위해 브라우저는 멀티 스레드로 구현되어 있어, 자바스크립트 엔진에서 처리할 수 있는 작업과 WebAPI에서 처리하는 작업을 분리하여 처리한다.

thumbnail
북마크
공유하기
신고하기
12분 분량
조회수 165
profile-image감경규
2년 전
Copyright © 2025. Codenary All Rights Reserved.