분류 전체보기

Typescript

Effective Typescript - 아이템19

Item19 - 추론 가능한 타입을 사용해 장황한 코드 방지하기 타입스크립트에 익숙하지 않은 개발자는 모든 변수에 타입을 명시해야 한다고 생각합니다. 그러나 타입스크립트는 많은 타입 구문을 필요로 하지 않습니다. let x:number =12; let x =12; // 이렇게만 해도 충분 타입스크립트가 굳이 number를 명시하지 않았음에도 불구하고 자연스럽게 추론되어 있음을 확인할 수 있습니다. 이렇게 타입 추론이 된다면 명시적 타입 구문을 필요하지 않습니다. 오히려 코드 가독성을 해칠뿐입니다. 타입스크립트는 더욱 복잡한 객체도 추론 가능합니다. const person: { name: string born: { where: string when: string } died: { where: string ..

Typescript

Effective Typescript - 아이템18

Item18 - 매핑된 타입을 사용하여 값을 동기화하기 산점도(Scatter plot)을 그리는 컴포넌터의 타입을 모델링 해보겠습니다. interface ScatterProps{ // Data xs:number[]; ys:number[]; // Display xRange:[number,number]; yRange:[number,number]; color:string; //Events onClick:(x:number,y:number,index:number) => void; } 데이터나 디스플레이가 변경되면 차트를 다시 그려야하지만 이벤트 핸들러가 변경된경우 그럴 필요가 없습니다. 따라서 최적화를 해야하는데 두가지 방법으로 해보겠습니다. function shouldUpdate( oldProps:Scatter..

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 타입이 아니기때..

avalanche-
'분류 전체보기' 카테고리의 글 목록 (14 Page)