Typescript

Typescript

TypeScript - 제네릭 인터페이스

interface KeyPair { key:K; value:V; } let keyPair:KeyPair = { key:"key", value:0 } let keyPair2:KeyPair = { key:true, value:["1"] } 하나의 인터페이스로 다양한 타입의 객체를 만들고싶다면 위와같이 제네릭 인터페이스를 만들면된다. // 인덱스 시그니처 interface NumberMap { [key:string]:number; } let numberMap1 : NumberMap = { key:1, awdawd:2 } ------------------------------------------------- // 제네릭 인덱스 시그니처 interface Map { [key:string]:V; } let sti..

Typescript

Effective Typescript - 아이템 26

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 형식으로 추론이 되어서 오류가 발생하게됩..

Typescript

Effective Typescript - 아이템 25

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(..

Typescript

Effective Typescript - 아이템 24

Item 24 - 일관성 있는 별칭 사용하기 별칭은 타입스크립트가 타입을 좁히는 것을 방해합니다. 따라서 변수에 별칭을 사용할 때는 일관되게 사용해야 합니다. interface Coordinate { x: number y: number } interface BoundingBox { x: [number, number] y: [number, number] } interface Polygon { exterior: Coordinate[] holes: Coordinate[][] bbox?: BoundingBox } function isPointInPolygon(polygon: Polygon, pt: Coordinate) { const box = polygon.bbox if (polygon.bbox) { if ( ..

avalanche-
'Typescript' 카테고리의 글 목록