본문 바로가기
반응형

분류 전체보기135

이펙티브 타입스크립트 정리 - 4장 아이템28. 유효한 상태만 표현하는 타입을 지향하기 문제점 있는 코드들 살펴보기 interface State { pageText: string; isLoading: boolean; error?: string; } function renderPage(state: State) { if (state.error) { return `ERROR!`; } else if (state.isLoading) { return `LOADING`; } return `CURRENT Page`; } 조건이 명확히 분리되어 있지 않음 isLoading이 true이고 error값이 존재하면 로딩 중인지 아닌지 구분이 잘안감 async function changePage(state: State, newPage: string) { stat.. 2023. 6. 9.
이펙티브 타입스크립트 정리 - 3장 let x: number = 12; // 이렇게 써도 되긴하지만 let x = 12; // 이렇게 써도 x는 number로 추론된다 const person: { name: string; born: { where: string; when: string; }; died: { where: string; when: string; }; } = { name: "name", born: { where: "bornwher", when: "bornwhen", }, died: { where: "diedwhere", when: "diedwhen", }, }; const person = { name: "name", born: { where: "bornwher", when: "bornwhen", }, died: { where: .. 2023. 6. 2.
이펙티브 타입스크립트 정리 - 2장-02 매개변수나 반환값에 타입을 명시하기보다는 함수 표현식 전체에 타입 구문을 적용 하는 것이 좋다. declare function fetch( input: RequestInfo, init?: RequestInit ): Promise; async function checkdFetch(input: RequestInfo, init?: RequestInit) { const response = await fetch(input, init); if (!reponse.ok) { // 비동기 함수 내에서 거절된 프로미스로 변환함 throw new Error("Request failed: " + response.status); } return response; } // 위코드도 잘 동작하겠지만, 아래 코드가 좀 더 좋다 co.. 2023. 5. 19.
이펙티브 타입스크립트 정리 - 2장-01 타입스크립트의 타입 시스템 타입스크립트 설치 시 다음 두가지 실행 가능 - 타입 스크립트 컴파일러(tsc) - 타입 스크립트 서버(tsserver) visualstudio code를 많이 사용하여 개발을 할텐데, 타입스크립트 사용시 vscode에서 타입추론이 가능하다. 변수외에도 함수 들도 가능하다. vscode에서 변수나 함수에 마우스를 올리고 우클릭 Go to definition 을 해서 타고 올라가면 정의된 곳을 볼 수 있고 이걸 보고서 개념을 추론할 수 있다. *해당 변수나 함수에 마우스커서를 두고 ctrl+우클릭 / 또는 F12로도 가능하다 다양한 타입들 never 타입 : 아무것도 포함 하지 않는 공집합 유닛 타입(=리터럴 타입) : 한가지값만 포함하는 타입 type A = 'a' // 리터럴.. 2023. 5. 12.
반응형