TypeScript 4

[타입스크립트] enum과 트리쉐이킹

열거형(enum)TypeScript의 enum(열거형)은 관련된 상수들을 하나의 그룹으로 정의하는 자료형이다.(JS에는 enum이 없다.)enum Status { SUCCESS = "success", FAIL = "fail", PENDING = "pending"}console.log(Status.SUCCESS); // "success"🚨 enum과 트리 쉐이킹 문제🌴 트리쉐이킹(tree-shaking)사용하지 않는 코드를 제거하여 번들 크기를 줄이는 최적화 기법Webpack, Vite, Rollup, esbuild와 같은 번들러가 이러한 기능을 제공 자바스크립트는 enum을 아래와 같이 즉시 실행 함수(IIFE)를 포함한 코드로 변환한다.번들러는 IIFE를 '사용하지 않는 코드'라고 판단할 수 ..

TypeScript 2025.02.16

[이펙티브 타입스크립트 | 1장] 타입스크립트 알아보기

1️⃣ 타입스크립트와 자바스크립트의 관계 이해하기모든 자바스크립트는 타입스크립트이지만, 모든 타입스크립트가 자바스크립트는 아니다타입스크립트는 변수의 초깃값으로부터 타입을 추론let city = 'new york city';console.log(city.toUppercase());// 🚨 Error// Property 'toUppercase' does not exist on type 'string'. Did you mean 'toUpperCase'?타입 시스템의 목표 중 하나는 런타임에 오류를 발생시킬 코드를 미리 찾아내는 것(타입스크립트를 '정적' 타입 시스템이라고 하는 특성 중 하나)타입스크립트는 타입 구문 없이도 오류를 잡을 수 있지만, 타입 구문을 추가하면 더 많은 오류를 찾아낼 수 있다모든 자바..

[3장] 고급 타입

3.1 타입스크립트만의 독자적 타입 시스템1️⃣ any 타입자바스크립트에 존재하는 모든 값을 오류 없이 받을 수 있다.any 타입을 변수에 할당하는 것을 지양해야 하지만, 어쩔 수 없이 사용해야 할 경우가 있다. - 개발 단계에서 임시로 값을 지정할 때 - 어떤 값을 받아올지 또는 넘겨줄지 정할 수 없을 때API 요청 및 응답 처리, 콜백 함수 전달, 외부 라이브러리 등type FeedbackModalParmas = { show: boolean; content: string; cancelButtonText?: string; confirmButtonText?: string; beforeOnClose?: () => void; action?: any;}// FeedbackMod..

[2장] 타입

2.1 타입이란1️⃣ 자료형으로서의 타입데이터 타입은 여러 종류의 데이터를 식별하는 분류 체계로 컴파일러에 값의 형태를 알려준다. - undefined- null- Boolean- String- Symbol- Numeric(Number와 BigInt)- Object 2️⃣ 집합으로서의 타입프로그래밍에서 타입은 수학의 집합과 유사하며 값이 가질 수 있는 유효한 범위의 집합을 말한다. const num: number = 123; const str: string = "abc"; function func(n: number) { // ... } func(num); func(str); // 🚨 Argument of type 'string' is not assignable to parameter..