타입스크립트 플레이그라운드: https://www.typescriptlang.org/play
예제1)
function add(num1:number, num2:number) { // a
console.log(num1+ num2);
}
a. 타입을 정의 (정의하지 않으면 type: any 가 됨)
:number = 숫자를 받겠다.
예제2)
function showItems(arr:number[]){ // b
arr.forEach((item) => {
console.log(item);
});
}
b. :number[] = 숫자배열을 받겠다.
:string[] = 문자배열을 받겠다.
let car:string ='bmw'
let car ='bmw' // car이 string인걸 아는것: 타입 추론
let age:number = 30;
let isAdult:boolean = true;
let a:number[] = [1,2,3];
or
let a2:Array<number> = [1,2,3];
let b:[string, number];
function sayHello():void{
console.log('hello');
}
function showError():never{
throw new Error();
}
function infLoop():never{
while (true) {
// do something..
}
}
enum Os {
Window, // 0, 값이 알아서 0부터 할당됨
Ios, // 1
Android // 2
}
enum Os {
Window = 3, // 3, 값을 주면 그 값이 할당됨
Ios = 9, // 9
Android // 10
}
=> 양방향 mapping
console.log(Os[9]) // 'Ios'
console.log(Os['Ios']) // 9
=> 값이 숫자가 아닐 때는 단방향 mapping
enum Os {
Window = 'win',
Ios = 'ios',
Android = 'and'
}
console.log(Os['Window']) // 'win'
let myOs:Os; //type이 Os면
myOs= Os.window //myOs에는 특정 값만 입력할 수 있어진다. (강조 효과)