jinux127
Jinux
jinux127
  • 분류 전체보기 (109)
    • 엘리스 SW 엔지니어 트랙 (6)
      • TIL (6)
    • 개발지식 (22)
      • React (4)
      • JavaScript (9)
      • Web (4)
      • Node.js (1)
      • TypeScript (4)
    • 알고리즘 (69)
      • 백준 (47)
      • 프로그래머스 (14)
      • 이것이 코딩테스트다 (6)
    • 프로젝트 (10)
      • PHOTOCALENDAR (3)
      • 빙수먹을래? (7)
    • Life (0)
      • 헬스 (0)
      • 독서 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 이전

인기 글

태그

  • node.js
  • 문법
  • 그리디
  • 구현
  • CSS
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
jinux127

Jinux

개발지식/TypeScript

TypeScript의 Type

2022. 5. 2. 22:42

타입스크립트는 변수나 함수 등 Type을 정의할 수 있는데, 타입 표기를 사용한다.

타입스크립트의 Type은 기본자료형, 참조 자료형, 추가 제공 자료형 이 있다.

  • 기본 자료형
    • object와 reference 형태가 아닌 실제 값을 저장하는 자료형, 기본자료형 내장 함수를 사용 가능 → 이는 JS 처리 방식 덕분
    • 종류
      • string
      • boolean
      • number
      • null
      • undefined
      • symbol (ES6 추가)
let str: string = "test";

let isSucceeded: boolean = true;

let num: number = 3;

let n: null = null;

let u: undefined = undefined;
  • 참조 자료형
    • 객체, 배열, 함수 등과 같은 Object형식의 타입, 메모리에 값을 주소로 저장, 출력 시 메모리 주소와 일치하는 값을 출력
    • 종류
      • object
      • array
      • function
//object
// 기본자료형에 해당하지 않는 타입
function create(o: object): void{}

create ({prop: 0}) // 성공
create ([1,2,3]) // 성공
create("string") // error

// array
// 배열
let arr: number[] = [1,2,3];

let arr: Array<number> = [1,2,3]; // 위와 같다.
  • 추가 제공 자료형
    • 타입스크립트에서 개발자의 편의를 위해 추가로 제공하는 타입이다.
    • 종류
      • tuple
      • enum
      • any
      • void
      • never
// tuple
// 길이와 각 요소의 타입이 정해진 배열을 저장하는 타입
let arr: [string, number] = ["Hi", 6];

arr[1].concat("!"); // ERror, 'number' does not have 'concat'

// enum
// 특정 상수들의 집합을 저장하는 타입

enum Car {BUS, TAXI, SUV};

let bus: Car = Car.BUS;
let bus: Car = Car[0]; // 인덱스 번호로 접근

enum Car {BUS = 1, TAXI = 2, SUV = 3}; // 인덱스 번호를 임의로 지정할 수 도 있다.

// 위의 TAXI의 인덱스는 2 호출
let taxi: String = Car[2] 

// any
// 모든 타입을 저장 가능
// 컴파일 중 타입 검사 x
let str:any = "hi";
let num: any = 10;
let arr:any = ["a",2,true];

// void
// any 의 반대 타입, 보통 함수에서 반환 값이 없을 경우 사용한다.
// 변수에서는 undefined와 null 만 할당 가능하다.

let unknown:void = undefined;

function sayHi(): void{
	console.log('hi');
}

// never
// 발생할 수 없는 타입
// 항상 오류를 발생시키거나, 절대 반환하지 않는 반환 또는 종료되지 않는 함수이다.
function neverEnd(): never {
	while(true){}
}

'개발지식 > TypeScript' 카테고리의 다른 글

함수와 매개변수  (0) 2022.05.02
Utility types (추가 예정)  (0) 2022.05.02
TypeScript 는 왜 사용할까?  (0) 2022.05.02
jinux127
jinux127

티스토리툴바