[TypeScript]기본타입

Yul·2022년 4월 22일
0

TypeScript

목록 보기
1/1
post-thumbnail

타입 스크립트 기본 타입

  • Boolean
  • Number
  • String
  • Array
  • Tuple
  • Enum
  • Unknown
  • Any
  • Void
  • Null and Undefined
  • Never
  • Object

Boolean

데이터 유형이 참과 거짓을 나타낼 때 사용합니다.

let isDone: boolean = false;

Number

데이터 유형이 숫자일 때 사용합니다.
TypeScript는 16진수 및 10진수 외에 2진수 및 8진수도 지원합니다.

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;
let big: bigint = 100n;

String

데이터 유형이 문자열일 때 사용합니다.
JavaScript와 마찬가지로 큰 따옴표(") 또는 작은 따옴표(')를 사용하여 표기합니다. 템플릿 문자열도 사용 가능합니다.

let color: string = "blue";
color = 'red';
// 템플릿 문자열
let fullName: string = `Bob Bobbington`;
let sentence: string = `Hello, my name is ${fullName}.

Array

배열 유형일 경우 두 가지 방법으로 작성할 수 있습니다.

첫 번째는 []로 해당 유형을 표기할 수 있습니다.

let list: number[] = [1, 2, 3];

두 번째는 제네릭을 사용하여 표기할 수 있습니다.

let list: Array<number> = [1, 2, 3];

Tuple

튜플은 여러 타입을 함께 지정할 수 있는 복합 배열 타입입니다.

let x: [string, number];

정의한 인덱스로 접근하지 않는 경우 오류가 발생합니다.

// Initialize it
x = ["hello", 10]; // OK

// Initialize it incorrectly
x = [10, "hello"]; // Error

Enum

enumerated type(열거형 타입)을 의미합니다. Enum은 관련한 값 모음을 나타냅니다.

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

기본적으로 enum의 인덱스는 0부터 시작하지만 인덱스 값을 임의로 설정할 수 있습니다.

// 특정 값만 임의로 변경
enum Color {
  Red = 1,
  Green,
  Blue,
}
let c: Color = Color.Green;

// 모든 값을 임의로 변경
enum Color {
  Red = 1,
  Green = 2,
  Blue = 4,
}
let c: Color = Color.Green;

Unknown

모든 타입을 Unknown으로 표기할 수 있습니다. 모든 타입을 허용하지만 프로퍼티, 연산을 하는 경우 컴파일러가 체크합니다.

any보다 엄격하게 타입을 좁혀 사용함으로 any보다 unknown을 사용하는 것이 상대적으로 안전합니다.

let notSure: unknown = 4;
notSure = "maybe a string instead";
 
// OK, definitely a boolean
notSure = false;

Any

Any 역시 모든 타입을 받을 수 있습니다. 불특정한 값을 컴파일 검사를 사지 않고 사용할 때 사용합니다.

기존 JavaScript를 점진적으로 TypeScript로 변경할 때 유용합니다.
Any 타입은 타입 안전성이 떨어지므로 가급적 사용하지 않는 것이 좋습니다.

declare function getValue(key: string): any;
// OK, return value of 'getValue' is not checked
const str: string = getValue("myString");

Void

void는 값을 반환하지 않는 함수의 반환 유형으로 사용합니다.

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

Never

어떤 값도 반환하지 않는 함수 반환 타입입니다.

// Function returning never must not have a reachable end point
function error(message: string): never {
  throw new Error(message);
}

참고자료

https://www.typescriptlang.org/
https://joshua1988.github.io/ts/
https://developer-talk.tistory.com/198
https://sambalim.tistory.com/146

전예홍, 「Do it! 타입스크립트 프로그래밍」, 2020

profile
자바스크립트 도장깨기👊

0개의 댓글