-
타입스크립트 공부하기코드 찌끄리기 2024. 9. 22. 16:35
타입스크립트는 여러 가지 개념과 구조를 지원하며, 이를 통해 다양한 방식으로 코드를 작성할 수 있다.
1. 기본타입
1-1. number : 숫자 값을 표현
let age: number = 30;
1-2. string : 문자열 값을 표현
let name: string = "Alice";
1-3. boolean : true 또는 false 값을 표현
let isActive: boolean = true;
1-4. null : null 값을 나타낸다.
let n: null = null;
1-5. undefined : 값이 정의되지 않은 상태를 나타낸다.
let u: undefined = undefined;
1-6. void : 함수의 반환값이 없음을 나타낸다.
function logMessage(message: string): void { console.log(message); // 메시지를 출력하지만 반환값 없음 }
1-7. any : 어떤 타입이든 허용하는 타입
let anything: any = "Could be anything"; // 문자열 할당 anything = 42; // 이제 숫자 할당 가능
2. 배열
2-1. 숫자 배열
let numbers1: number[] = [1, 2, 3]; let numbers2: Array<number> = [1, 2, 3];
2-2. 문자열 배열
let strings1: string[] = ["a", "b", "c"]; let strings2: Array<string> = ["a", "b", "c"];
3. 튜플(Tuples)
고정된 수의 요소와 각 요소의 타입을 정의할 수 있는 배열
let tuple: [string, number] = ["Alice", 25]; // 첫 번째는 문자열, 두 번째는 숫자
4. 객체(Object)
4-1. 인터페이스(interfaces) : 객체의 구조를 정의
interface Person { name: string; age: number; } let person: Person = { name: "Bob", age: 30 }; // Person 인터페이스에 맞는 객체
4-2. 타입 별칭 (Type Aliases) : 타입에 별명을 붙여서 사용할 수 있다.
type PersonType = { name: string; age: number; }; let person2: PersonType = { name: "Charlie", age: 25 }; // PersonType에 맞는 객체
5. 열거형 (Enums)
상수의 집합을 정의하고, 의미 있는 이름으로 접근할 수 있다.
enum Direction { Up, Down, Left, Right } let move: Direction = Direction.Up; // Direction.Up을 사용하여 값 할당
6. 함수 (Functions)
함수의 매개변수와 반환값에 타입을 지정할 수 있다.
function add(a: number, b: number): number { return a + b; // 두 숫자의 합을 반환 } const greet = (name: string): void => { console.log(`Hello, ${name}!`); // 인사 메시지 출력 };
7. 제네릭 (Generics)
타입을 매개변수로 받아 유연한 코드를 작성할 수 있습니다.
function identity<T>(arg: T): T { return arg; // 인수로 받은 값을 그대로 반환 } let result1 = identity<string>("Hello"); // 문자열 타입으로 호출 let result2 = identity<string>(1); // 숫자 타입으로 호출 let result3 = identity<string>(false); // 불리언 타입으로 호출
8. 유니온 타입 (Union Types)
여러 타입을 동시에 사용할 수 있다.
function printId(id: number | string) { console.log(`ID: ${id}`); // id가 숫자 또는 문자열일 수 있음 }
9. 인터섹션 타입 (Intersection Types)
여러 타입을 결합하여 새로운 타입을 생성할 수 있다.
type Person = { name: string; }; type Employee = { id: number; }; type EmployeePerson = Person & Employee; // Person과 Employee의 속성을 모두 가짐 const employee: EmployeePerson = { name: "Alice", id: 1 }; // 두 타입을 모두 충족하는 객체
'코드 찌끄리기' 카테고리의 다른 글
타입스크립트 interface/type 알아보기 (0) 2024.09.22 Context API (1) 2024.08.09 reduce() 메서드 (0) 2024.08.08 splice() 메서드 (0) 2024.08.08 slice() 메서드 (3) 2024.08.08