반응형

※ 기본 타입

let test: string = 'hello';
let num: number = 0;
let isFemale: boolean = true;

 

※ 참조형 타입

let like: string[] = ['game', 'music', 'youtube'];
let dislike: Array<string> = ['study', 'homework'];
let odd: number[] = [1, 3, 5];
let even: Array<number> = [2, 4, 6];
let abc: boolean[] = [true, false, true];
let bbc: Array<boolean> = [true, false, true];

 

※ Tuple : 배열에 들어가는 자료형이 다를 때 배열의 순서마다 타입지정

let arr1: [number, string] = [3, '3'];

 

※ 객체 타입지정

    - interface : 객체처럼 자료의 구조가 복잡한 경우 직접 커스터마이징된 타입을 생성

type Score = 'A' | 'B' | 'C' | 'D' | 'F'; //정해져있는 특정값을 그룹으로 묶어서 커스텀 타입 지정 가능

interface Student {
	name: string;
	age: number;
	readonly isFemale: boolean; //readonly : 해당 property는 읽기전용으로 변경 불가
	address?: string; //? : 해당 property는 optional하게 적용 (있을 수도 있고 없을 수도 있고)
	// [grade: number]: string; //property명을 산정할 수 없을 때 대괄호로 묶어서 타입지정 가능
	[grade: number]: Score; //특정 그룹의 값을 묶어서 커스텀 타입 지정 가능
}

//Student라는 커스텀 인터페이스 타입이 지정된 객체
let student1: Student = {
	name: 'David',
	age: 20,
	isFemale: false,
	1: 'C',
	//address: 'Seoul',
};

let student2: Student = {
	name: 'Emily',
	age: 30,
	isFemale: true,
	2: 'B',
};

//student2[2] = 'Z';는 할 수가 없음 (Score에 없음)

 

'IT > TypeScript' 카테고리의 다른 글

[TypeScript] Generic 정리  (0) 2023.09.05
[TypeScript] VS Code에서 기본 세팅  (0) 2023.09.01

+ Recent posts