[TIL] 25.01.31 FRI

GDORI·2025년 1월 31일
0

TIL

목록 보기
176/184
post-thumbnail

타입스크립트

자바스크립트에 타입 시스템을 추가한 언어로 코드의 안정성을 높이기 위해 사용된다. 요즘은 타입스크립트가 추세라고 하여 알아두는 것이 좋을듯하여 살짝 기미해봤다.

1. 변수 선언

  • let, const, var를 사용해 변수를 선언할 수 있다. 기본적으로 letconst를 사용하고, var는 오래된 방식이라 피하는 것이 좋다.
let name: string = "Alice"; // 문자열 타입
const age: number = 30;     // 숫자 타입
  • 타입을 명시할 수도 있고, 타입 추론을 통해 자동으로 타입을 추측할 수도 있다.
    단, 설정에 따라 사용이 불가하다.
let isActive = true; // boolean 타입으로 추론됨

2. 타입 정의

  • 타입스크립트에서는 변수나 함수 파라미터의 타입을 명시적으로 정의할 수 있다.
let score: number = 100;
let isDone: boolean = false;

3. 배열과 튜플

  • 배열은 타입스크립트에서 Array<타입> 또는 타입[]으로 정의할 수 있다.
let numbers: number[] = [1, 2, 3];    // 숫자 배열
let strings: Array<string> = ["a", "b", "c"]; // 문자열 배열
  • 튜플은 고정된 길이와 각 요소의 타입이 다를 수 있는 배열을 정의한다.
let person: [string, number] = ["Alice", 30];  // 첫 번째 요소는 string, 두 번째는 number

4. 함수

  • 함수의 인자와 반환 타입도 정의할 수 있다.
function add(x: number, y: number): number {
  return x + y;
}

const greet = (name: string): string => `Hello, ${name}`;

5. 객체

  • 객체 타입을 정의할 때는 인터페이스(interface)나 타입 별칭(type)을 사용할 수 있다.
interface Person {
  name: string;
  age: number;
}

let user: Person = { name: "Bob", age: 25 };

6. 인터페이스, 타입 별칭

  • interface는 객체나 클래스의 구조를 정의할 때 사용하고, type은 더 넓은 범위로 사용할 수 있다.
interface Car {
  model: string;
  year: number;
}

type Point = { x: number; y: number };

7. 유니온 타입

  • 유니온 타입은 여러 타입을 하나의 변수에 할당할 수 있게 해준다.
let result: string | number; // string 또는 number
result = "Hello";
result = 100;

8. Null과 Undefined

  • 타입스크립트에서는 nullundefined를 명시적으로 처리해야 한다. 기본적으로 nullundefinedany 타입을 가질 수 있다.
let notAssigned: null = null;
let uninitialized: undefined = undefined;

9. Type Assertion

  • 타입을 강제로 지정할 때 사용한다. 주로 as 키워드를 사용한다.
let someValue: any = "This is a string";
let strLength: number = (someValue as string).length;
profile
하루 최소 1시간이라도 공부하자..

0개의 댓글

관련 채용 정보