Item 26 - 타입 추론에 문맥이 어떻게 사용되는지 이해하기 type Language = "JavaScript" | "TypeScript" | "Python"; function setLanguage(language: Language) { return language; } setLanguage("JavaScript"); // OK let language = "JavaScript"; setLanguage(language); // 'string' 형식의 인수는 // 'Language' 형식의 매개변수에 할당될 수 없습니다. 타입을 변수로 분리하면 타입스크립트는 할당 시점에 타입을 추론합니다. 그러므로 let language = "JavaScript" 는 string 형식으로 추론이 되어서 오류가 발생하게됩..
Item 25 - 비동기 코드에는 콜백 대신 async 함수 사용하기 과거 자바스크립트 에서는 비동기 동작을 구현하기 위해 콜백을 사용하였고, 그렇기 때문에 '콜백 지옥(callback hell)'을 마주할 수 밖에 없었습니다. function fetchURL(url: string, cb: (response: string) => void) { cb(url); } const url1 = "1"; const url2 = "2"; const url3 = "3"; // END fetchURL(url1, function (response1) { fetchURL(url2, function (response2) { fetchURL(url3, function (response3) { // ... console.log(..