행복한 세상

개발/Typescript

[typescript] 데이터 타입

키밸류 2022. 1. 1. 13:08

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를 사용하는 이유가 점점 줄어들겠죠.