Page 29 -
P. 29
전반적으로 class 안으로 그룹화된 것을 볼 수 있습니다. 생성자 함수는 constructor 안으로 들어
갔고, Human.isHuman 같은 클래스 함수는 static 키워드로 전환되었습니다. 프로토타입 함수들도
모두 class 블록 안에 포함되어 어떤 함수가 어떤 클래스 소속인지 보기 쉽습니다. 상속도 간단해
져서 extends 키워드로 쉽게 상속 가능합니다. 다만, 이렇게 클래스 문법으로 바뀌었더라도 자바 2
스크립트는 프로토타입 기반으로 동작한다는 것을 명심해야 합니다.
2.1.7 프로미스 알아두어야 할 자바스크립트
자바스크립트와 노드에서는 주로 비동기를 접합니다. 특히 이벤트 리스너를 사용할 때 콜백 함수
를 자주 사용합니다. ES2015부터는 자바스크립트와 노드의 API들이 콜백 대신 프로미스(Promise)
기반으로 재구성되며, 악명 높은 콜백 지옥(callback hell) 현상을 극복했다는 평가를 받고 있습니
다. 프로미스는 반드시 알아두어야 하는 객체이므로 이 책뿐만 아니라 다른 자료들을 참고해서라
도 반드시 숙지해야 합니다.
프로미스는 다음과 같은 규칙이 있습니다. 먼저 프로미스 객체를 생성해야 합니다.
const condition = true; // true면 resolve, false면 reject
const promise = new Promise((resolve, reject) => {
if (condition) {
resolve('성공');
} else {
reject('실패');
}
});
// 다른 코드가 들어갈 수 있음
promise
.then((message) => {
console.log(message); // 성공(resolve)한 경우 실행
})
.catch((error) => {
console.error(error); // 실패(reject)한 경우 실행
})
.finally(() => { // 끝나고 무조건 실행
console.log('무조건');
});
75
node_06.indd 75 2020-07-14 오전 11:02:01