원문 : https://www.typescriptlang.org/docs/handbook/basic-types.html
TypeScript에서 지원하는 기본 타입들에 대해 알아보자
Boolean
true 또는 false 값
let isDone: boolean = false;
Number
부동 소수점 값. 2진수, 8진수, 16진수 등을 표현 할 수 있다.
let decimal: number = 6; let hex: number = 0xf00d; let binary: number = 0b1010; let octal: number = 0o744;
String
말 그대로 String. 따옴표, 쌍따옴표 둘다 사용가능.
backtick/backquote (`) 로 둘러싸면 멀티라인 문자열이나 템플릿 스트링을 사용할 수 있다.
let fullName: string = `Bob Bobbington`; let age: number = 37; let sentence: string = `Hello, my name is ${ fullName }. I'll be ${ age + 1 } years old next month.`; //아래 표현식과 같은 결과 //let sentence: string = "Hello, my name is " + fullName + ".\n\n" // + "I'll be " + (age + 1) + " years old next month.";
Array
TypeScript에서 배열을 선언 하는 방법은 "[]" 를 사용하는 방법과, "Array<타입>"을 사용하는 2가지 방법이 있다.
let list: number[] = [1, 2, 3]; let list: Array<number> = [1, 2, 3];
Tuple
튜블은 (python 에서와 같이) 고정된 사이즈의 배열을 사용할때 쓰인다. 변수를 선언할때 이미 사이즈를 알고 있어야 하며, 배열 원소들이 모두 같은 데이터 타입일 필요는 없다.
// Declare a tuple type let x: [string, number]; // Initialize it x = ["hello", 10]; // OK // Initialize it incorrectly x = [10, "hello"]; // Error
사전에 정의된 원소가 아닌 경우 union type 으로 사용된다. (union type에 대해서는 나중에 다시 다룬단다.)
Enum
TypeScript에 있는 아주 유용한 타입이다. C#이나 Java의 Enum과 같다.
enum Color {Red, Green, Blue} let c: Color = Color.Green; //원래는 0부터 시작하지만 이렇게 하면 1부터 시작됨 enum Color2 {Red = 1, Green, Blue} //모든 값을 임의로 지정 할 수 있음 enum Color3 {Red = 1, Green = 2, Blue = 4} //값으로 이름(문자열)을 가져올 수도 있음 let colorName: string = Color[2];
Any
프로그램을 작성 할 당시 어떤 타입이 올지 모르는 경우 (3rd party library를 사용하는 경우와 같은...) 사용한다.
let notSure: any = 4; notSure = "maybe a string instedad"; //string 타입으로 사용했다 boolean 타입으로도 사용 가능하다. notSure = false; //배열에 여러가지 타입이 혼재되어 있는경우 유용하다. let list: any[] = [1, true, "free"]; list[1] = 100;
Void
아무값도 가지지 않음을 뜻한다. 주로 아무 값도 리턴하지 않는 함수의 리턴타입이나, 아무값도 가지지 않는(undefined 또는 null) 변수에 사용된다.
function warnUser(): void { alert("This is my warning message"); } //아무값도 가질 수 없는 함수 let unusable: void = undefined;
Null and Undefined
null이나 undegined 는 void 만큼 유용하게 사용되지는 않는다. 따로 타입이 존재하긴 하지만 다른 데이터 타입들도 null 이나 undefined 값을 가질 수 있다.
let u: undefined = undefined; let n: null = null;
Never
항상 예외를 던지거나, 결과를 반환하지 않는 경우 사용된다. (무슨 말이야??)
// Function returning never must have unreachable end point function error(message: string): never { throw new Error(message); } // Inferred return type is never function fail() { return error("Something failed"); } // Function returning never must have unreachable end point function infiniteLoop(): never { while (true) { } }
Type assertions
type assertions는 다른 언어의 형 변환 같은 기능(?)이다. "<>" 를 이용하는 방법과 "as"를 이용하는 방법이 있는데 JSX와 TypeScript를 사용하는경우 "as" 를 사용하는 방법만 허용이된다.
let someValue: any = "this is a string"; let strLength: number = (someValue).length; let someValue: any = "this is a string"; let strLength: number = (someValue as string).length;
'TypeScript > Handbook' 카테고리의 다른 글
[TypeScript] 05. Functions (0) | 2018.01.31 |
---|---|
[TypeScript] 04. Classes (0) | 2017.07.07 |
[TypeScript] 03. Interfaces (0) | 2017.05.04 |
[TypeScript] 02. 변수 선언 (0) | 2017.04.25 |
[TypeScript] 00. 시작하기 (0) | 2017.04.21 |