본문 바로가기

JavaScript/TypeScript

타입스크립트 기본타입

반응형

 

//타입명시
let car:string ='bmw';
car = 'benz';
//car= 3; 
//에러 발생

//타입추론
let car2='bmw';
//car2는 string 타입

//기본 타입의 종류
let age:number = 30;
let isAdult:boolean = true;
let a = [1,2,3];
let a2:number[] = [1,2,3];
let a3:Array<number> = [1,2,3];

let week1 = ['mon', 'tue', 'wed'];
let week2:string[] = ['mon', 'tue', 'wed'];
let week3:Array<string> = ['mon', 'tue', 'wed'];

//week1.push(3);
//에러발생

//튜플
let b:[string, number];
b=['z',1];
b[0].toLowerCase();
//각 타입에 해당하는 함수가 표시됨

//b=[1,'z'];
//b[1].toLowerCase();
//에러 발생

//함수에 타입 지정 : void, never
function sayHello() :void{
    console.log('hello');
}
function showError():never{
    throw new Error();
}
function infLoop():never{
    while(true){

    }
}

//enum :비슷한 값들끼리 묶은 타입으로 양방향 매핑 [기본 : 0,1,2]
enum Os{
    Window,
    Ios,
    Android
}
enum Os2{
    Window =3,
    Ios =10,
    Android
    //11
}
console.log(Os['Ios']);
//10
console.log(Os[10]);
//Ios

//숫자가 아닌 문자도 가능 (단, 단방향 매핑)
enum Os3{
    Window ="win",
    Ios ="ios",
    Android="and"
}

//입력할 수 있는 값들을 제한
let msOs:Os;
//myOs=Os.Linux;
//에러발생
//myOs='asdf';
//에러발생


//null, undefined
let a1:null =null;
let b1:undefined =undefined;
반응형