타입스크립트는 자바스크립트의 슈퍼셋 입니다.
컴파일 타임에만 작동합니다.
타입지정
let foo = 10;
타입스크립트가 컴파일하면서 타입을 넘버로 (암묵적)추론하기 때문에 타입스크립트에서 에러가 나지 않는다.
foo = boolean;
=> 이런식으로 다른타입을 넣으면 컴파일 과정에서 에러가 난다.
type을 명시적으로 적용하는 방법
let foo : number = 10;
타입을 명시적으로 지정하면 코드를 읽는 사람에게 더 많은 정보를 제공해주기 떄문에 더 선호된다.
점점 더 트랜드가 짧은 코드 보다도 더 명시적인 코드 (가독성)가 주목 받고 있다.
type Age = number
type Weight = number
let foo : number = 10;
let age : Age = 10;
let weight : Weight = 72
type alias (타입별칭)
type Foo = {
age:Age;
name:string;
}
interface
interface Bar{
age:Age;
name:string;
}
const foo :Foo ={
age:10,
name:"kin",
}
const bar : Bar = {
age:10,
name:"kim"
}
type alias 와 interface는 유사하다 그 차이점은 추후에 알아보자.