
프로미스 체이닝 (Promise Chaining) 프로미스(Promise)는 비동기 작업이 끝났을때 결과를 반환해주는 객체이다.보통 비동기 코드(예: API 호출, 파일 읽기, 데이터베이스 작업 등) 처리 시에 사용한다. 프로미스는 3가지의 상태를 가질수 있다.pending (대기): 아직 실행 중, 결과를 모르는 상태fulfilled (성공): 작업이 완료되어 resolve() 호출 rejected (실패): 작업이 실패하여 reject() 호출const promise = new Promise((resolve, reject) => { // 비동기 작업 실행 중... setTimeout(() => { const success = true; if ..

원시값(Primitive Value)과 참조값(Reference Value), 객체 복사(얕은 복사 Shallow Copy, 깊은 복사 Deep Copy) 자바스크립트에서의 데이터는 원시값(Primitive Value)과 참조값(Reference Value) 두가지 유형으로 나눌수 있다.이 두 유형은 메모리에 저장되는 방식과 복사되는 방식이 다르다. 원시값(Primitive Value)종류로는 string, number(Infinity, NaN 포함), boolean, undefined, null, symbol, bigint이 있다.값 자체를 저장하며, 변수에 할당할 때 새로운 메모리 공간에 저장한다. (때문에 불변하다. = 한번 생성된 값을 변경할 수 없다.)값을 복사하게되면 새로운 메모리 공간에 할..

자바스크립트 이터러블(iterable)과 이터레이터(iterator) 이터러블(Iterable)반복가능(=순회할 수 있는) 객체를 말한다. (배열(Array), 문자열(String), Set, Map, arguments, NodeList)Symbol.iterator 메서드를 구현하면 해당 객체가 이터러블(iterable)로 동작할 수 있다.Symbol.iterator가 이터러블 프로토콜을 따르도록 객체를 만드는 메서드이며, 객체에 Symbol.iterator를 구현하면 해당 객체는 이터러블이 된다. 특징이터러블 순회 - for...of 루프 사용 가능이터러블을 개별 요소로 분해 - spread 연산자 (...) 사용 가능이터러블을 배열로 변환 - Array.from() 사용가능const arr ..

자바스크립트 구조분해할당 (Destructuring)구조분해 할당은 배열이나 객체에서 특정 값을 쉽게 추출하여 변수에 할당할때 쓰는 문법이다. 배열 구조분해할당사용법은 아래와 같고, 배열에 할당된 순서대로 구조분해할당하여 추출해서 사용할 수 있다.const numbers = [1, 2, 3]; // 기존 방식 const a = numbers[0]; const b = numbers[1]; // 구조분해할당 const [x, y, z] = numbers; console.log(x, y, z); // 1 2 3 만약 특정 인덱스의 값을 넘기고 싶다면 해당하는 부분을 비워두고 콤마(,)로 넘어가면된다.const numbers = [1, 2, 3, 4, 5]; // 두 번째 값을 비워두면 건너뛰기가 가능하다c..