javascript 3

[JavaScript] async/await 알아보기

앞선 글에서 Promise의 개념과 사용법에 대해 알아보았다.하지만 실제로 코드를 작성하다 보면 Promise에는 단점이 존재한다.바로 .then() 혹은 .catch()를 계속 사용해줘야 한다는 점이다. 이 방식은 비동기 작업이 많아질수록 코드가 길어지고, 가독성도 떨어지는 문제를 야기한다.예를 들어 다음과 같은 코드가 있다고 생각해보자.// Promise 사용const fetchData2 = () => { return new Promise((resolve) => { resolve("🔥 성공!"); });};fetchData2().then((result) => { console.log(result); // 🔥 성공!});코드가 짧아보일 수도 있지만, 실제 프로젝트에서 에러 처리를 포함한 ..

JavaScript_study 2025.04.15

[JavaScript] Promise란 무엇인가?

자바스크립트의 꽃은 비동기 처리이다. 여기서 비동기 처리가 무엇일까?먼저, 동기처리란 무엇인지 살펴보자.--우리가 커피숍에 갔다고 가정하고, 내 앞에 2명의 사람이 주문하고 있다고 생각해 보자. 나의 주문은 단순히 쿠키 하나를 포장하는 주문이고.내 앞사람들의 주문은 빵과 커피 2잔을 포장하는 주문이라고 생각해 보자. 여기서 동기처리는 내 앞사람들 주문이 모두 처리될 때까지 나는 무한정 대기해야 한다.그렇다면 나는 생각할 것이다."아니 쿠키 하나만 주면 되는걸 내가 앞사람들 주문까지 다 기다려야 되나?"-> 이것이 동기 처리의 단점이다. 사실 이론상으로는 앞 주문을 먼저 처리하는 것이 맞지만, 굉장히 비효율 적이다.그럼 비동기 처리란 무엇인가?앞 상황에서 굉장히 센스 있는 직원이 나는 쿠키만 빨리 주면 되..

JavaScript_study 2025.04.15

[JavaScript] 자바스크립트 객체 -> 배열 변환(keys, values, entries)

자바스크립트에서 생성된 객체를 배열로 변환해 접근하는 편한 방법이 존재한다. 먼저 객체(object)를 하나 간단하게 생성해 보자.const person = { name: "홍길동", age: "23", gender: "boy",}; 이렇게 생성된 객체는 key값에만 혹은 value값에만 접근하기 귀찮을 때가 있다.때문에, key값 혹은 value값을 배열에 따로 저장한다면 index번호만으로 쉽게 접근할 수 있다. 마지막 entries()를 사용하면 객체 값을 배열에 담고 새로운 배열을 생성하여 모두 저장할 수 있다. 어렵지 않은 과정이니 한번 살펴보자.배열로 바꾸는 방법은 크게 3가지가 존재하는데, 첫 번째로 Object.keys()이다.이 방법은 객체의 키값들만 배열에 담아 저장하는 방법이다...

JavaScript_study 2025.04.14