TypeScript의 몇 가지 데이터 타입에 대해서 담았습니다.
any
타입을 지정하지 않고 어떤 타입도 허용되는 타입
타입 검사 없이 모든 값을 할당할 수 있다.
let value: any = "hello";
value = 42; // 아무 타입이나 할당 가능
// 바로 사용해도 에러 없음
console.log(value.toUpperCase()); // "HELLO"
unknwon
알 수 있는 값이지만 타입을 모를 때 사용하는 타입
반드시 타입을 확인하거나 변경해야 하므로, 코드의 안정성을 높이는 데 유용하다.
let value: unknown = "hello";
value = 42; // 아무 타입이나 할당 가능
// 사용하기 전에 타입 검사 필요
if (typeof value === "string") {
console.log(value.toUpperCase()); // "HELLO"
}
배열을 사용하지만 배열에 정확한 아이템 개수와 , 순서까지 명시하는 타입이다.
따라서 아래와 같이 명시되어 있는 아이템의 타입과 개수 외에 아이템을 추가하는 것은 불가능하다.
let A: [string, number, boolean] = ["Alice", 25, true]; // 올바른 사용
let B: [string, number, boolean] = ["Alice", 25, true, 2]; // 불가
배열의 아이템으로 tuple을 사용할 수 있다.
let people: [string, number][] = [
["Alice", 25], // 첫 번째 튜플
["Bob", 30], // 두 번째 튜플
["Charlie", 35] // 세 번째 튜플
];
// 함수 타입을 변수로 정의 (return 값이 있음)
let multiply: (a: number, b: number) => number = function(a,b){
return a + b}
let result = multiply(4, 5);
void은 리턴 값이 없는 함수에서 반환되는 데이터 타입이다.
// 함수 타입을 변수로 정의 (반환 값이 없음)
let logMessage: (message: string) => void = function(){
console.log(message);
}
logMessage("Hello, World!"); // 출력: Hello, World!
여러 타입을 하나의 변수에 지정할 수 있는 타입. | 기호를 사용하여 여러 타입을 결합할 수 있다.
두 개 이상의 타입도 결합이 가능하다
// Union 타입을 사용하여 숫자와 문자열을 받을 수 있는 변수
let value: number | string;
value = 42; // 숫자 할당 가능
console.log(value); // 42
value = "hello"; // 문자열 할당 가능
console.log(value); // "hello"
만일 배열에 여러 타입의 변수를 지정하고 싶다면 union을 통해서 가능하다,
let flags: (boolean | string)[] = [true, "active", false, "inactive"];
여러 타입을 결합하여 하나의 타입으로 합치는 방식, & 기호를 사용하여 여러 타입을 결합할 수 있다.
union과 달리 두 타입을 모두 충족하는 변수가 입력되어야 한다.
// 두 개의 타입을 결합한 예시
type Person = { name: string; age: number };
type Address = { city: string; country: string };
// PersonWithAddress 타입은 Person과 Address의 모든 속성을 포함합니다.
let personWithAddress: Person & Address = {
name: "Alice",
age: 30,
city: "New York",
country: "USA",
};