TypeScript 초보에서 전문가까지
TypeScript는 JavaScript 코드를 더 안전하게 만들어 줍니다. 코드를 실행하기 전에 버그를 찾을 수 있도록 도와줍니다. 이 가이드는 기초부터 고급 개념까지의 과정을 다룹니다.
TypeScript는 JavaScript에 정적 타이핑을 추가합니다. 작성한 코드를 브라우저에서 실행 가능한 일반 JavaScript로 변환합니다.
Basic Types
- number: 정수 또는 소수
- boolean: true 또는 false
- string: 텍스트
- symbol: 고유 식별자
- bigint: 큰 정수
Type Annotations 변수를 생성할 때 타입을 정의합니다: let name: string = "Alice"; let age: number = 30;
Arrays and Objects
- Arrays: let fruits: string[] = ["apple", "banana"];
- Objects: let user: { name: string; age: number } = { name: "Bob", age: 25 };
Functions 함수의 매개변수와 반환 타입을 지정할 수 있습니다. 함수가 아무것도 반환하지 않는 경우 void를 사용하세요. function greet(name: string): string { return "Hello, " + name; }
Advanced Structures
- Type Aliases: 타입에 대한 사용자 정의 이름을 정의합니다.
- Interfaces: 객체의 형태(shape)를 정의합니다.
- Enums: 이름이 지정된 상수 집합을 생성합니다.
- Tuples: 요소의 개수가 고정되어 있고 특정 타입을 가지는 배열을 생성합니다.
Complex Logic
- Union Types: 변수가 하나 이상의 타입을 가질 수 있도록 합니다.
- Intersection Types: 여러 타입을 하나로 결합합니다.
- Generics: 다양한 타입에서 작동하는 재사용 가능한 컴포넌트를 생성합니다.
- Utility Types: Partial 또는 Pick과 같은 내장 도구를 사용하여 타입을 변경합니다.
Best Practices
- 간단한 별칭(alias)이나 원시 타입(primitive)에는 type을 사용하세요.
- 객체의 형태를 정의할 때는 interface를 사용하세요.
- any 사용을 피하세요. TypeScript의 안전성을 저해합니다.
- 타입을 확신할 수 없을 때는 any 대신 unknown을 사용하세요.
- 코드가 명확할 때는 컴파일러가 타입을 추론하도록 하세요.
TypeScript는 자신 있게 대규모 애플리케이션을 구축할 수 있도록 도와줍니다.
Source: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j