Search

4주차

24장 일관성 있는 별칭 사용하기

새로운 변수를 통한 별칭은 타입 좁히기에 방해됩니다.
function isPoint(point: Point){ const coin = point.coin; if(point.coin){ point.coin // Coin coin // Coin | undefined } }
JavaScript
복사
그러니 비구조화 문법을 애용합시다. 단 값은 유지되지 않을 수 있습니다.
function isPoint(point: Point){ const { coin } = point; if(coin){ setting(point); // point.coin 값 변화 // coin과 point.coin은 다른값을 참조 } }
JavaScript
복사

25장 비동기 코드에는 콜백 대신 async 함수 사용하기

콜백보단 Promise를 그보단 async, await를 사용세요.

26장 타입 추론에 문맥이 어떻게 사용되는지 이해하기

변수를 별도로 선언 시 오류 발생 시 타입 선언을 추가해줘야합니다.
type Language = "JavaScript" | "TypeScript"; function setLanguage(lang: Language){}; setLanguage('JavaScript'); let language = "JavaScript"; setLanguage(language); // 에러 발생 // 1. const 로 변경 // 2. language: Language 추가
JavaScript
복사
필요하다면 튜플, 객체, 콜백 시에도 필요하다면 타입단언이나 as const를 사용해야합니다.
type GoveredLanguage = {language: Language, organiztion: string}; function complain(ts: GoveredLanguage){}; complain({language: "TypeScript", organization: "scroll"}); // 정상 동작 const ts = { language: "TypeScript", organization: "scroll" } complain(ts) // 에러 발생 // 1. ts: GoveredLanguage // 2. ts = { language: "TypeScript" as const, ... }
JavaScript
복사

27. 함수형 기법과 라이브러리로 타입 흐름 유지하기

내장 함수형 기법과 lodash와 같은 라이브러리는 타입스크립트의 사용을 좀 더 쉽게만들어줍니다.

4장 타입설계