
136
3장 타입 추론
·
비구조화 문법을 사용해서 일관된 이름을 사용하는 것이 좋습니다.
·
함수 호출이 객체 속성의 타입 정제를 무효화할 수 있다는 점을 주의해야 합
니다. 속성보다 지역 변수를 사용하면 타입 정제를 믿을 수 있습니다.
과거의 자바스크립트에서는 비동기 동작을 모델링하기 위해 콜백을 사용했습
니다. 그렇기 때문에 악명 높은 ‘콜백 지옥(callback hell)’
을 필연적으로 마주
할 수밖에 없었습니다.
fetchURL(url1, function(response1) {
fetchURL(url2, function(response2) {
fetchURL(url3, function(response3) {
// ...
console.log(1);
});
console.log(2);
});
console.log(3);
});
console.log(4);
//
로그
:
// 4
// 3
// 2
// 1
로그에서 보면 알 수 있듯이, 실행의 순서는 코드의 순서와 반대입니다. 이러
한 콜백이 중첩된 코드는 직관적으로 이해하기 어렵습니다. 요청들을 병렬로
실행하거나 오류 상황을 빠져나오고 싶다면 더욱 혼란스러워집니다.
ES2015는 콜백 지옥을 극복하기 위해 프로미스(promise) ...