타입스크립트의 가장 기본적인 타입은 자바스크립트의 7가지 원시 타입과 동일하다.
타입 시스템은 타입을 이해하는 방법에 대한 규칙의 집합
타입스크립트를 작성하는 동안 자주 접하게 되는 오류는 구문 오류와 타입 오류
할당 가능성(assignable): 예상된 타입으로 할당 가능한지 여부를 확인하는 것
Type ... is not assignable to type ...
형태의 오류는 타입스크립트로 코드를 작성할 때 만나게 되는 가장 일반적인 오류 중 하나
let lastName = "King";
lastName = true; // Error: Type 'boolean' is not assignable to type 'string'.
value: type
타입 애너테이션은 color 변수가 string 타입임을 나타낸다.
let color: string;
color = "red";
타입스크립트가 타입을 유추할 수 있다면 타입 애너테이션을 추가하지 않아도 된다.
let firstName: string = "Tina"; // string 타입 애너테이션은 중복이다.
타입스크립트는 할당 가능성뿐만 아니라 객체 사용과 관련된 문제도 알려준다.
변수에 할당된 값과 원래 타입이 일치하는지 확인
let color = "red";
color = 123; // Error: Type 'number' is not assignable to type 'string'
접근하려는 속성이 변수의 타입에 존재하는지 확인
let rapper = "Queen Latifah";
rapper.push('!'); // Error: Property 'push' does not exist on type 'string'.
객체에 키가 존재하는지 확인
const palette = {
red: "red",
blue: "blue",
}
palette.pink // Error: Property 'pink' does not exist on type '{ red: string; blue: string; }'
파일이 스크립트면 타입스크립트는 해당 파일을 전역 스코프로 간주하므로 모든 스크립트가 파일의 내용에 접근할 수 있다. 파일을 모듈로 만들면 모듈 내에서만 사용할 수 있다.