Language/TypeScript (3) 썸네일형 리스트형 [TypeScript] 추상 클래스 vs 인터페이스 - 직원 조직도로 이해하기 목차 TypeScript에서 추상 클래스(abstract class)와 인터페이스(interface)는 둘 다 “규약”을 정의하는 도구이다. 하지만 실제 목적과 사용법은 다르다. 이번 글에서는 직원 조직도 비유를 통해 이 차이를 쉽게 정리해보고자 한다.추상 클래스 vs 인터페이스 — 핵심 차이인터페이스 (interface)컴파일 후 사라짐: 타입 정보만 제공, JS 출력 없음.구조적 타이핑: 이름이 아니라 모양(shape) 이 같으면 호환.다중 구현 가능: class A implements I1, I2선언 병합 가능: 같은 이름의 인터페이스를 여러 번 정의하면 자동으로 합쳐짐.상태(필드) 불가: 런타임 상태나 공통 구현은 가질 수 없음.추상 클래스 (abstract class)런타임에 남음: 공통 메서드.. [TypeScript] infer 목차타입스크립트를 조금만 깊게 쓰다 보면 infer라는 정체불명의 키워드를 보게 된다. ReturnType, Parameters, ConstructorParameters 같은 공식 유틸리티 타입들의 핵심에도 항상 숨어 있는 존재이다. 이번 글에서는 infer에 대해서 정리하고, infer가 실제로 타입스크립트 타입 시스템의 강력한 추론 엔진 역할을 어떻게 하는지 살펴보려고 한다. infer 란?infer는 조건부 타입(Conditional Types) 내부에서만 사용할 수 있는 키워드이다.문법은 다음과 같다:T extends SomeType ? U : Fallback 여기서 핵심은 infer U.타입스크립트에게 "여기서 타입을 추론해서 U라는 이름으로 쓰겠다"라고 지시하는 것이다.함수의 매개변수, 반환 .. [TypeScript] ERROR: TS2550 tsconfig.json이 무시되는 이유와 해결 방법 목차npm run dev에서만 TS2550 오류가 발생하는 이유TypeScript를 쓰다 보면 동일한 코드임에도 실행 방식에 따라 오류가 발생하는 경우가 있다. 이번 글에서는 npm run dev에서만 findIndex 같은 ES2015 메서드가 인식되지 않는 TS2550 오류를 파헤치고, monorepo 환경에서 자주 겪는 tsconfig 무시 문제까지 확장해 보겠습니다. 문제 상황코드:const i = user.findIndex((u) => u.name === name); 직접 실행하면 정상 동작한다.tsc --target es2015 main.ts # 정상 컴파일 하지만 package.json에 다음과 같이 스크립트를 등록해 실행하면 에러가 발생한다. { "scripts": { "dev":.. 이전 1 다음