Language/Javascript 4

await / async

async와 await는 JavaScript에서 비동기 작업을 더 쉽고 직관적으로 다루기 위해 등장한 문법입니다. 이들은 콜백 함수나 .then() 체인을 사용하던 기존 방식의 단점을 보완하여, 마치 동기 코드처럼 비동기 코드를 작성할 수 있게 해줍니다.async 함수async 키워드는 함수 선언 앞에 붙어 해당 함수가 비동기 함수임을 나타냅니다. async 함수는 항상 Promise 객체를 반환합니다. 만약 함수가 Promise가 아닌 값을 반환하더라도, JavaScript 엔진이 자동으로 그 값을 Promise로 감싸서 반환합니다.async function myAsyncFunction() { return "Hello, async!";}myAsyncFunction().then(value => { c..

Language/Javascript 2025.08.02

Promise

Promise는 자바스크립트에서 비동기 작업을 보다 효율적으로 다룰 수 있도록 도와주는 객체입니다. 비동기 작업은 시간이 걸리는 작업(예: 서버에서 데이터를 가져오는 것)을 의미하며, 이러한 작업이 완료될 때까지 다른 코드의 실행을 막지 않고 병렬적으로 처리할 수 있게 해줍니다.Promise의 기본 개념Promise는 세 가지 상태 중 하나를 가집니다.Pending (대기): 비동기 작업이 아직 완료되지 않은 초기 상태.Fulfilled (이행): 비동기 작업이 성공적으로 완료된 상태. 결과 값(result)을 반환합니다.Rejected (거절): 비동기 작업이 실패한 상태. 오류(error)를 반환합니다.// Promise 생성const myPromise = new Promise((resolve, re..

Language/Javascript 2025.08.02

Lodash

Lodash는 JavaScript 유틸리티 라이브러리로, 주로 배열, 숫자, 객체, 문자열, 함수와 같은 기본적인 데이터 타입과 관련된 일반적인 프로그래밍 작업을 위한 저수준(low-level) 메서드를 제공합니다. 이 라이브러리는 JavaScript 개발을 더 쉽고, 일관성 있게, 그리고 종종 더 효율적으로 만들어주기 위해 고안되었습니다. 반복적이거나 오류가 발생하기 쉬운 일반적인 작업들을 추상화하여 다양한 유용한 함수들을 제공하죠. Lodash를 사용하는 이유Lodash가 이렇게 인기가 많은 이유는 다음과 같습니다:일반적인 작업 간소화: 데이터 조작을 위한 복잡한 반복문이나 조건문을 직접 작성하는 대신, Lodash는 간결하고 읽기 쉬운 함수들을 제공합니다. 이는 반복적인 코드(boilerplate ..

Language/Javascript 2025.07.28

JavaScript의 모듈 시스템: require vs import

JavaScript는 웹 브라우저에서 간단한 스크립트를 처리하기 위해 탄생했습니다. 그러나 애플리케이션 규모가 커지면서 코드 재사용, 의존성 관리, 이름 충돌 방지 등의 필요성이 대두되었고, 이에 따라 다양한 모듈 시스템이 등장했습니다. 이 중 가장 대표적인 것이 CommonJS의 require와 ECMAScript Modules(ESM)의 import입니다. 등장 배경require (CommonJS)require는 2009년경 주로 Node.js를 중심으로 하는 서버 사이드 JavaScript 환경에서 등장하고 발전했습니다. Node.js가 처음 출시될 때, require는 사실상의 표준 모듈 시스템으로 채택되었습니다. CommonJS는 JavaScript를 서버나 데스크톱 애플리케이션 개발에도 활용할..

Language/Javascript 2025.07.01