Java Script의 타입을 강제시키는 언어.
.js와 .jsx 대신 .ts와 .tsx를 사용한다.
JS에서는 let으로 변수를 선언했을때, 변수의 타입이 바뀌어도 문제가 없다.
let a = "apple";
a = 123
그런데 Type Script를 사용해 변수의 타입을 지정해주면 다른 타입으로 재할당이 불가능하다.
let b : string = "banana";
b = 2 // 오류 송출
객체의 경우 interface를 이용해 적용한다.
interface Ifruit {
name : string
price : number | string
quality? : string
}
const fruit : Ifruit = {
name : "망고"
price : 5000
}
const fruit2 : Ifruit = {
name : "파인애플"
price : "5000원"
quality : "상"
}
일반적으로 객체타입 interface 이름을 만들 때, I + 객체의 이름으로 만드는 경우가 많다.
quality 처럼 뒤에 ?가 붙어있는 것은 객체를 선언할 때, 있어도 되고 없어도 되는 경우 사용한다.
| 은 해당 key의 value가 number 또는 string이라는 뜻이다.