ChatGPT와 Next.js 공부

typescript 기본 문법

그랜파 개발자 2025. 5. 11. 13:31

typescript 기본 문법 알려줘

ChatGPT의 말:

TypeScript는 JavaScript에 정적 타입을 추가한 언어입니다. 아래는 가장 기본적인 문법들을 정리한 예제입니다.


✅ 1. 변수 선언

let name: string = "Alice";
let age: number = 30;
let isAdmin: boolean = true;

✅ 타입 추론

let city = "Seoul"; // string으로 추론됨

✅ 2. 배열과 튜플

let numbers: number[] = [1, 2, 3];
let users: string[] = ["Alice", "Bob"];

let tuple: [string, number] = ["Age", 25];

✅ 3. 객체 타입

let user: { name: string; age: number } = {
  name: "Jane",
  age: 28
};

✅ 4. 인터페이스

interface User {
  name: string;
  age: number;
  isAdmin?: boolean; // 선택적 속성
}

const admin: User = { name: "Tom", age: 40 };

✅ 5. 함수 선언

function greet(name: string): string {
  return `Hello, ${name}`;
}

✅ 화살표 함수

const add = (a: number, b: number): number => a + b;

✅ 6. 유니언 / 교차 타입

let status: "loading" | "success" | "error";
status = "loading";

type Admin = { role: "admin" };
type Member = { role: "member" };
type Person = Admin | Member;

✅ 7. 제네릭

function identity<T>(value: T): T {
  return value;
}

let output = identity<string>("hello");

✅ 8. 타입 단언 (Type Assertion)

let value: any = "hello";
let length: number = (value as string).length;

✅ 9. 타입 정의 vs 인터페이스

// 둘 다 객체 타입을 정의할 수 있음
type UserType = { name: string };
interface UserInterface { name: string };

✅ 10. 기타

  • enum, readonly, never, unknown 등의 키워드도 존재
  • type은 확장성에서 interface보다 자유롭지만 interface는 상속 구조에 적합