// number, string, boolean
let age:number = 29;
let name:string = "gigi"
let isAdult:boolean = true;
// number[], Array<number>, string[], Array<string>
let a1:number[] = [1,2,3];
let a2:Array<number> = [1,2,3];
let week1:string[] : ["mon", "tue", "wed"];
let week2:Array<string> : ["mon", "tue", "wed"];
배열의 경우 number[], string[] 이나 Array<number>, Array<string>으로 적을 수 있다.
// [type, type]
let b:[string, number];
b= ["z", 1];
// b=[1,"z"]; => 에러
b[0].toLowerCase();
// b[1].toLowerCase(); => 에러
배열의 길이가 고정되고 각 요소의 타입이 다를 때 [string, number]와 같이 적을 수 있다.
// enum
enum os{
Window = "win",
Ios = "ios",
Android = "and",
}
let myOs:Os;
myOs = Os.Window
특정값(상수)들의 집합을 의미한다.
// any
let age:any = 29;
let name:any = "Suzy"
let isAdult:any = true;
기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할 때 활용하면 좋은 타입. 모든 타입에 대해서 허용한다는 의미를 가지고 있다.
// void
function hello():void{
console.log("hello");
}
let unuseful:void = undefined;
변수에는 undefined와 null만 할당하고 함수에는 반환값이 없는 타입.
// never
function showError():never{
throw new Error();
}
function infLoop():never{
while (true){
// do something..
}
}
항상 에러를 반환하거나 무한반복하는 함수의 타입으로 지정 할 수 있다.