728x90
728x90
타입스크립트의 자료형(TypeScript)
들어가며
- 타입스크립트(TypeScript)에서 사용되는 자료형(DataType)을 간단하게 정리해본다.
타입스크립트의 자료형
① 원시 자료형(Primitives)
- @number@ : 숫자형 (정수, 소수 등)
- @string@ : 문자열
- @boolean@: @true@ 또는 @false@ 값
- @null@, @undefined@ : 기본적으로 모든 타입의 서브타입으로 취급된다.
// (1) 숫자
let age: number;
age = 25;
// => let age: number = 25;
// (2) 문자열
let name: string;
name = "Peter";
// => let name: string = "Peter";
// (3) Boolean
let isActive: boolean;
isActive = true;
// => let isActive: boolean = true;
// (4) null / undefined
let isNull: null;
let isUndefined: undefined;
② 배열(Array)
- 특정 타입의 값을 여러 개 담을 수 있는 자료형
- 동일한 타입의 여러 값을 저장하는 데 사용된다.
let numbers: number[];
numbers = [1, 2, 3];
// => let numbers: number[] = [1, 2, 3];
③ 튜플(Tuple)
- 고정된 수의 요소를 가지고, 각 요소의 타입이 정해져 있는 배열
- 다양한 타입의 여러 값을 고정된 순서와 고정된 길이로 저장한다.
let person: [string, number];
person = ["Peter", 25];
// => let person: [string, number] = ["Peter", 25];
④ 열거형(Enums)
- 숫자 값에 별칭(Alias)을 붙일 수 있는 자료형
enum Color {
Red = 1,
Green,
Blue
};
let c: Color;
c = Color.Green;
// => let c: Color = Color.Green;
⑤ Any
- 타입 체크를 하지 않겠다는 의미로, 어떤 값이든 할당할 수 있다.
- 자바스크립트에서 타입스크립트로의 마이그레이션이나, 동적인 컨텐츠를 다룰 때 유용하다.
let notSure: any;
notSure = 4;
// => let notSure: any = 4;
⑥ 유니언 및 교차 타입(Union and Intersection Types)
유니언(Union)
- 변수에 여러 타입 중 하나를 가질 수 있도록 한다.
let value: string | number;
교차(Intersection)
- 여러 타입을 하나로 결합한다.
- 객체 지향 프로그래밍(OOP)의 다중 상속과 비슷하게 여러 타입의 특성을 모두 가진 새로운 타입을 정의할 때 유용하다.
type TypeA = {
propA: string;
};
type TypeB = {
propB: number;
};
type CombinedType = TypeA & TypeB;
const example: CombinedType;
example = {
propA: "Hello",
propB: 42
};
// =>
// const example: CombinedType = {
// propA: "Hello",
// propB: 42
// };
⑦ 타입 추론(Type Inference)
- 타입스크립트는 명확하게 선언된 경우 변수의 타입을 추론할 수 있다.
- 따라서 명시적으로 타입을 지정할 필요가 없다.
// (1) 변수 타입 추론
let num = 42; // num의 타입을 number로 추론
let message = "Hello, TypeScript!"; // message의 타입을 string으로 추론
// (2) 함수 반환 타입 추론
function add(a: number, b: number) {
return a + b; // 함수의 반환 타입을 number로 추론
}
// (3) 객체 타입 추론
let person = {
name: "Alice",
age: 30
}; // person의 타입을 { name: string; age: number }로 추론
// (4) 배열 타입 추론
let numbers = [1, 2, 3]; //numbers의 타입을 number[]로 추론
// (5) 함수 매개변수 타입 추론
let greet = (name = "World") => `Hello, ${name}!`; // name의 타입을 string으로 추론
// (6) 타입 추론과 타입 선언
let value: any = "This is a string";
let length = (value as string).length; // value를 string으로 선언(as string) 하여 length를 계산
⑧ 함수(Functions)
- 함수의 입력과 출력 타입을 명시할 수 있다.
// 입력: x(숫자), y(숫자) / 출력: 숫자
function add(x: number, y: number): number {
return x + y;
}
참고 사이트
728x90
728x90
'Programming > TypeScript' 카테고리의 다른 글
[TypeScript] 타입 가드(Type Guard) (0) | 2024.10.10 |
---|---|
[TypeScript] 모듈 방식 사용하기 (0) | 2024.10.10 |
[TypeScript] 인터페이스(Interface)와 타입 별칭(Type Alias) 비교 (0) | 2024.10.09 |
[TypeScript] ! 연산자(Non-null Assertion Operator) (0) | 2024.08.20 |
[TypeScript] MODULE_NOT_FOUND (Error: Cannot find module ~\react-scripts\bin\react-scripts.js) 오류 해결 방법 (0) | 2024.08.20 |
[TypeScript] 제네릭(Generic) (0) | 2024.08.20 |
[TypeScript] 타입스크립트 프로젝트 만들기 (0) | 2023.10.17 |
[TypeScript] 윈도우에서 스쿱(Scoop) 설치하기 (0) | 2023.10.12 |