Typescript - (1) 개요, 기본 타입

Typescript의 목표

  • Javascript 프로그램의 정적 타입 검사자
  • 즉, 코드가 실행되기 전에 실행하고, 프로그램 타입이 정확한지 확인하는 도구
  • 자바스크립트로 컴파일 되어 동작한다

기본 타입

Boolean

참/거짓 (true/false)

let isDone: boolean = false;

숫자 (Number)

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

문자열 (String)

let color: string = "blue";
color = 'red';

// 템플릿 문자열을 사용해서 문자열에 표현식을 포함 시킬 수 있음
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.`;

배열 (Array)

// 1. 배열 요소들을 나타내는 타입 뒤에 []
let list: number[] = [1, 2, 3];

// 2. 제네릭 배열 타입 : Array<elementType>
let list: Array<number> = [1, 2, 3];

let list: Array<string> = [1, 2, 3]; // error

튜플(Tuple)

요소의 타입과 개수가 고정된 배열을 표현할 때 사용,
단 요소들의 타입이 모두 같을 필요는 없다

// 튜플 타입으로 선언
let x: [string, number];
// 초기화
x = ["hello", 10]; // 성공
// 잘못된 초기화
x = [10, "hello"]; // 오류

열거 (Enum)

enum Color {Red, Green, Blue}
let c: Color = Color.Green;

Any

타입 검사를 하지 않고, 컴파일 검사를 통과한다.

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // 성공, 분명히 부울입니다.

Void

보통 함수에서 반환 값이 없을 때 반환 타입을 표현하기 위해 사용

function warnUser(): void {
   console.log("This is my warning message");
}

Null and Undefined

// 이 밖에 이 변수들에 할당할 수 있는 값이 없습니다!
let u: undefined = undefined;
let n: null = null;

Never

never 타입은 절대 발생하지 않는 타입을 나타낸다.
함수 표현식이나 화살표 함수 표현식에서 항상 오류를 발생시키거나 절대 반환하지 않는 반환 타입으로 쓰인다

// never를 반환하는 함수는 함수의 마지막에 도달할 수 없다.
function error(message: string): never {
    throw new Error(message);
}

// 반환 타입이 never로 추론된다.
function fail() {
    return error("Something failed");
}

객체 (Object)

object는 원시 타입이 아닌 타입을 나타낸다.
예를 들어, number, string, boolean, bigint, symbol, null, 또는 undefined 가 아닌 나머지를 의미.

타입 단언 (Type assertions)

  1. angle-bracket
let someValue: any = "this is a string";

let strLength: number = (<string>someValue).length;
  1. as-문법 (JSX와 함께 사용할 때는 as- 스타일의 단언만 허용)
let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;

Reference
https://typescript-kr.github.io/pages/the-handbook.html

좋은 웹페이지 즐겨찾기