TypeScript

    [TypeScript] 이펙티브 타입스크립트 (item 03 ~ 05)

    item 03. 코드 생성과 타입은 관계가 없다. 최신 타입/자바스크립트를 브라우저에서 동작할 수 있도록 구버전의 자바스크립트로 트랜스파일(transpile)합니다. 코드의 타입 오류를 체크합니다. 그러나 두가지는 서로 완벽히 독립적 입니다. 그렇기 때문에 타입체크는 컴파일에 영향을 미치지 않습니다. 즉 타입체크에서 오류가 발생해도 컴파일이 됩니다. // test.ts let x = "hello"; x = 1234; // ~ number 형식은 string에 할당될 수 업습니다. // tsc test.ts -> // test.js let x = "hello"; x = 1234; interface 등의 타입은 컴파일 과정중에 제거되기 때문에 런타임 시점에서는 아무 역활을 하지 않습니다. interface ..

    [TypeScript] 이펙티브 타입스크립트 (item 01 ~ 02)

    item 01. TypeScript와 JavaScript 관계 이해하기 타입스크립트는 자바스크립트의 상위 집합이다. 타입스크립트는 '정적'타입 시스템이다. (?) 이것은 정확히 무슨 의미일까? .js 확장자 대신 .ts를 사용한다. 문법적으로 문제가 없을지라도 자바스크립트에 어떤 이슈가 존재한다면 타입체커에 지적당할 가능성이 있다. 작성된 코드를 파싱하고 자바스크립트 코드로 변환할 수 있다. 자바스크립트는 그 자체로 이미 타입스크립트라고 할 수 있다. 그렇기 때문에 자바스크립트 코드를 타입스크립트로 마이그레이션(migration)하는데 엄청난 이점이 된다. why? 기존 코드는 그대로 유지 일부분에만 타입스크립트 적용이 가능 city가 string 이라는 타입 구문이 없는데도 지적하는 예시 let cit..