
Promise, async/await, Hoisting
Promise란 무엇인지 설명해주세요.
자바스크립트에서 비동기 처리에 사용되는 객체(내용은 실행이 되었지만 아직 결과를 반환하지 않는 객체)
Promise의 상태는 대기(Pending), 이행(Fulfilled), 실패(Rejected)가 있음
Promise의 결과가 참이면 resolve를 거짓이면 reject를 호출
async/await이란 무엇인지 설명해주세요.
async 키워드는 비동기 함수를 선언할 때 붙여주는 것
async 함수의 리턴 값은 무조건 Promise
await은 async 함수 내에서만 사용할 수 있고, Promise가 끝날 때까지 기다리는 함수
Hoisting이란 무엇인지 설명해주세요.
Hoisting이란 코드를 실행하기 전에 함수, 변수, 클래스, 임포트의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상
var로 선언한 변수의 경우 Hoisting 시 undefined로 변수 초기화
let, const로 선언한 변수는 Hoisting 시 변수를 초기화 하지 않음