
typescript의 간단한 소개
불리언(Booelan)
boolean값은 참/거짓(true/false) 값 입니다.
let flag:boolean = false;
숫자(Number)
javascript처럼 typescript의 모둔 숫자는 부동 소수이다. typescript는 16진수, 10진수 9진수 2진수도 지원합니다.
let hex: number = 0xffff; //16진수
let decial: number = 6; //10진수
let octal: number = 0o7652 //8진수
let binary: number =0b1101 //2진수
문자열(String)
javascript와 같이 작은 따움표( ' )나 큰 따움표( " ) 로 문자열 데이터를 감싸 표현할 수 있습니다.
let text:string = 'hello typescript';
let text2:string = "good bye typescript";
또한 템플릿 문자열을 사용하면 여러줄을 한번에 작성할 수 있고 변수나 표현식을 내부에 넣어 사용 할 수있습니다.
let name: string = 'keyvalue';
let age: number = 30;
let sentence: string = `My name is ${name}. and I am ${age} years old`;
배열(Array)
배열을 다루는 타입이고 사용방법은 타입 뒤에 [] 을 쓰는것이고 두번째는 Array<T> 제네릭 타입을 사용하는 것 입니다.
let list: number[] =[1,2,3];
let list2: Array<number> =[1,2,3];
튜플(Tuple)
요소의 타입과 개수가 고정된 배열을 표현할 수 있습니다.
let tuple:[string,number]; //트플타입
tuple = ["hello", 10]; // O 성공
tuple = [10, "hello"]; // X 잘못된 방법
인덱스를 통해서도 값에 접근할수 있습니다.
x[0]; //hello
x[1]; //10
x[2]; //error 정해진 인덱스 외의 요소에 접근할 수 없습니다.
열거(Enum)
enum SEASON {SPRING, SUMMER, AUTUMN, WINTER}
let season: SEASON = SEASON.SPRING;
enum 은 0부터 시작하여 1씩 증가시키며 멤버들의 값을 할당해줍니다.
다음과 같이 시작 값을 정해줄 수 있고, 각각의 값을 지정해 줄 수 도 있습니다.
enum SEASON {SPRING=2, SUMMER, AUTUMN, WINTER}
let season: SEASON = SEASON.SPRING;
//-------------------------------------------
enum SEASON {SPRING=1, SUMMER=3, AUTUMN=5, WINTER=9}
let season: SEASON = SEASON.SPRING;
Any
애플리케이션 동작시 우리가 알수 없는 타입을 표현해야 하는 경우도 있습니다. 이런경우는 타입을 검사하지 않고 진행시키기위해 any타입을 사용합니다.
let notSure: any = 4;
notSure.ifItExists(); // 성공, ifItExists 는 런타임엔 존재할 것입니다.
notSure.toFixed(); // 성공, toFixed는 존재합니다. (하지만 컴파일러는 검사하지 않음)
let prettySure: Object = 4;
prettySure.toFixed(); // 오류: 프로퍼티 'toFixed'는 'Object'에 존재하지 않습니다.
any는 되도록 사용을 지양하는 편이며 any의 사용이 많아질수록 typescript를 사용하는 이유가 점점 줄어들겠죠.