본문 바로가기
🩵 React/학습 노트

✨ Swift 시점 타입스크립트 로드맵 ✨

by 솔비님 2025. 4. 4.

https://chatgpt.com/canvas/shared/67ef93f664b48191afe71eba71175350

✨ Swift 가상 TypeScript 입문 로드맵 ✨


✅ 1단계: 타입 기본 감 잡기 (Swift 타입 ≈ TS 타입)

배우게:

  • number, string, boolean
  • any, unknown
  • null, undefined
  • object 타입

Swift 같이 쓰기:

let age: number = 24;
let name: string = '다정이';

✅ 2단계: 함수에 타입 구조 다기

배우게:

  • 함수 매계번수 타입
  • 함수 리턴 타입
function add(a: number, b: number): number {
  return a + b;
}

✅ 3단계: 인터페이스(Interface) 이타

배우게:

  • interface
  • type 객체
interface User {
  name: string;
  age: number;
}

const user: User = {
  name: "다정이",
  age: 24
}

✅ 4단계: 유니언 타입 (Union Type)

배우게:

  • | 연산자 사용
let value: string | number;
value = "다정이";
value = 42;

✅ 5단계: 제네릭 (Generic)

배우게:

  • 기본 제네릭 사용\u법
function identity<T>(arg: T): T {
  return arg;
}

✅ 6단계: 함수형 업데이트 패턴 익히기

배우게:

  • 불만성 (immutability)
  • 스프레드 연산자 (...)
  • map, filter, reduce 고차함수
const newArr = arr.map(item => item + 1);

✅ 7단계: 타입 줄이기 (Type Narrowing)

배우게:

  • typeof 검사
  • in 검사
  • 사용자 정의 타입 검사기
function printId(id: number | string) {
  if (typeof id === "string") {
    console.log(id.toUpperCase());
  } else {
    console.log(id);
  }
}

✨ 전체 요약 프로세스

타입 기본 -> 함수 타입 -> 인터페이스/타입 및 타입 변환 -> 유니언 타입 -> 제네릭 -> 함수형 업데이트 -> 타입 줄이기

✨ 마지막 지체

Swift 감성을 잃지 않고, TypeScript에서 더 가편하고 명확한 코드를 진행하자!

 

 

 

https://chatgpt.com/canvas/shared/67ef94699e58819195a2548db6f9c308

Swift 개발자 감성 TypeScript 예제집 ✨


✅ 기본 타입 매칭 예제

// Swift: var age: Int = 24
let age: number = 24;

// Swift: var name: String = "다정이"
let name: string = "다정이";

// Swift: var isActive: Bool = true
let isActive: boolean = true;

✅ 함수 타입 예제

// Swift: func greet(name: String) -> String
function greet(name: string): string {
  return `Hello, ${name}`;
}

const message = greet("다정이");

✅ 인터페이스(Interface) / 타입(Type) 정의 예제

// Swift: struct User { var name: String; var age: Int }
interface User {
  name: string;
  age: number;
}

const user: User = {
  name: "다정이",
  age: 24
};

✅ 유니온 타입 (Enum 느낌)

// Swift Enum 비슷한 느낌
let status: "success" | "error" | "loading";

status = "success"; // ok
status = "error";   // ok
// 숫자 또는 문자열 허용
let id: number | string;
id = 123;
id = "abc";

✅ 제네릭(Generic) 예제

// Swift: func identity<T>(value: T) -> T
function identity<T>(value: T): T {
  return value;
}

const numberValue = identity<number>(100);
const stringValue = identity<string>("hello");

✅ 함수형 업데이트 예제 (map / filter / reduce)

// Swift: array.map { $0 * 2 }
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);

// Swift: array.filter { $0 > 2 }
const filtered = numbers.filter(num => num > 2);

// Swift: array.reduce(0) { $0 + $1 }
const sum = numbers.reduce((acc, num) => acc + num, 0);

✅ 타입 좁히기(Type Narrowing) 예제

function printLength(input: string | string[]) {
  if (typeof input === "string") {
    console.log(input.length);
  } else {
    console.log(input.length);
  }
}

printLength("hello");
printLength(["a", "b", "c"]);

✨ Swift 개발자가 보면 바로 이해되는 TypeScript 예제집 완료 ✨

이 예제들로 TypeScript 문법이 Swift 개발자 감성으로 확 와닿을 거야!

필요하면 “조금 더 업그레이드 및 다양한 예제”도 준비해줄게! 😊