Typescript

Typescript

Effective Typescript - 아이템17

Item17 - 변경 관련된 오류 방지를 위해 readonly 사용하기 function arraySum(arr: number[]) { let sum = 0, num; while ((num = arr.pop()) !== undefined) { sum += num; } return sum; } function printTriangles(n: number) { const nums = []; for (let i = 0; i 0 >1 >2 >3 >4 해당코드에서 원하는 값은 이렇습니다 1,3,6,10 하지만 전혀 다른값들이 출력되어지고있습니다. 오류의 원인은 이렇습니다. 1...

Typescript

Effective Typescript - 아이템16

Item16 - number 인덱스 시그니처보다는 Array,튜플,ArrayLike 를 사용하기 자바스크립트에서는 숫자는 키로 사용할 수 없습니다. 만약 사용한다면 자바스크립트 런타임은 문자열로 변환합니다 { 1:2, 3:4 } >> 문자열로 변환되어진다. { "1":2, "3":4 } 하지만 타입스크립트는 숫자 키를 허용하며 문자열 키와 다른것으로 인식합니다. interface Array{ [n:number]:T; } // 가능 런타임에는 키가 모두 문자열키로 인식되어 완전히 가상의 코드라고 할 수 있지만, 타입 체크 시점에 오류를 잡을 수 있어 유용합니다. function get(array: T[], k: string): T { return array[k] // 에러 발생 number 타입이 아니기때..

Typescript

Effective Typescript - 아이템15

Item15 - 동적 데이터에 인덱스 시그니처 사용하기 자바스크립트 객체는 문자열 키를 타입의 값에 관계없이 매핑합니다. 타입스크립트에서는 타입에 "인덱스 시그니처"를 명시하여 유연하게 매핑을 표현할 수 있습니다. type Rocket = { [property: string]: string } const rocket: Rocket = { name: 'Falcon 9', variant: 'v1.0', thrust: '4,940 kN', } // OK [property: string]: string 이 인덱스 시그니처이며 세 가지 의미를 담고 있습니다. 키의 이름 : 키의 위치만 표시하는 용도. 타입 체커에서는 사용하지않기때문에 중요하지않음 키의 타입 : string 이나 number 또는 symbol의 조..

Typescript

Effective Typescript - 타입 연산과 제네릭 사용으로 반복 줄이기

타입 연산과 제네릭 사용으로 반복 줄이기 타입 반복을 줄이는 가장 간단한 방법은 타입에 이름을 붙이는 것입니다. 위 예제에서 한눈에봐도 반복되어지는 코드가 보입니다. 바로 x와y의 타입이 반복되어지고있습니다. 인터페이스를 활용하여 반복적인것을 줄일수 있습니다. 두개의 함수가 같은 타입의 시그니처를 공유하고있다고 가정해보겠습니다. 위예제와는 달리 조금은 복잡해보이기도 하지만 반복되는코드가 보입니다. 첫번째, 매개변수 url,opts 두개의 타입이 반복되어지고있습니다. 두번째, 반환타입이 Promise 가 반복되어지고있습니다. 위 사진과 같이 함수의 타입을 선언함으로써 반복적인 코드를 줄일수있게되었습니다. 또 다른 예제를 살펴보겠습니다. 이와같이 반복되는 코드가 있습니다. 위 예제의 코드는 State 를 인..

avalanche-
'Typescript' 카테고리의 글 목록 (3 Page)