![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c0YiuR/btqTPzuzltB/7o9Qlu4RnOWHIESdkZl7x1/img.png)
바닐라 자바스크립트 바닐라 자바스크립트(Vanila Javascript)란, 라이브러리나 프레임워크를 사용하지 않는 순수한 형태의 자바스크립트를 의미합니다. 좀 더 구체적으로 이야기하자면, 바닐라 자바스크립트는 프로그래밍 문제를 해결하기 위해 어떤 도우미 라이브러리나 프레임워크를 사용하는 것보다 코어 API나 유틸리티를 사용하여 코딩하는 방식을 의미합니다. 오늘날 대부분의 자바스크립트 프로그램은 제이쿼리, 리액트, 앵귤러 등 다양한 프레임워크 및 라이브러리에 의해 구현된 기능을 사용하고 있는데, 사실 이러한 라이브러리의 기능들은 모두 자바스크립트 언어를 기반으로 구현이 되어 있기에, 바닐라 자바스크립트 만으로도 구현이 가능한 것들입니다. ECMA Script (ES) 순수한 형태의 자바스크립트를 이야기할..
async await는 비동기 프로그래밍을 동기 프로그래밍처럼 작성할 수 있도록 함수에 추가된 기능입니다. 프로미스가 자바스크립트 표준이 된 이후에 등장한 새로운 표준인데, 프로미스를 대체하는 개념이라기 보다는 보완하는 개념입니다. async await 함수가 프로미스를 반환하기 때문입니다. async 함수 선언의 기본 형태는 다음과 같습니다. 1 2 3 4 5 6 7 // async 함수는 프로미스를 반환합니다 async function getData(){ return "Javascript make me angry"; } // 따라서 then 메소드 호출이 가능합니다 getData().then(data => console.log(data)) async 함수에는 await 식이 포함될 수 있습니다. 이 ..
프로미스(promise)는 비동기 상태를 값으로 다룰 수 있는 객체입니다. 프로미스를 사용하면 비동기 프로그래밍을 할 때 동기 프로그래밍 방식으로 코드를 작성할 수 있습니다. 프로미스 객체는 비동기 작업의 완료 또는 실패에 대한 결과값을 나타낼 수 있습니다. 프로미스는 최종 결과를 반환하지는 않고, 대신 상태값을 반환해서 미래의 어떤 시점에 결과를 제공합니다. 프로미스는 다음 중 하나의 상태를 가집니다. 대기(pending) : 이행하거나 거부되지 않은 초기 상태. 이행(fulfilled) : 연산이 성공적으로 완료됨. 거부(rejected) : 연산이 실패함. 이행이나 거부가 처리되었을 때, 프로미스에 연결한 핸들러는 해당 프로미스의 then 메소드에 의해 처리됩니다. 아래는 프로미스의 기본 예제 코드..