Typescript

TIL/TypeScript

[240131] 제네릭, 유틸리티 타입(제네릭 타입)

✅ 제네릭 ✅ extends 키워드 활용하기 ✅ 인덱스 시그니처 활용하기 ✅ 의존성에 대한 이해 ✅ TS Doc을 활용해보자. ✅ any를 구체화시키자. 혹은 unknown을 활용하자. ✅ declare 키워드의 활용 ✅ 타입 커버리지를 추적하자. 이펙타 스터디를 하면서 적은 추가로 공부해야 할 내용들을 지난 프로젝트에 하나씩 적용해보자 ! ~~ 제네릭이란? 타입을 마치 함수의 파라미터처럼 사용하는 것 코드의 선언 시점이 아니라 생성 시점(런타임)에 타입을 명시 이런 코드를 function identity(arg: any): any { return arg; } 이렇게 써볼 수 있다! function identity(arg: T): T { return arg; } any와 다른 점은, 매개변수로 받은 타입..

TIL/TypeScript

[240125] 이펙티브 타입스크립트 4주차 + 회고

Effective Typescript 7장, 8장을 읽고 선정한 인터뷰 질문과 스터디 내용입니다. 내용요약 7장 요약 링크 8장 요약 링크 인터뷰질문 Q. 타입스크립트에서의 enum이란? 사용해야 하는지? A. 여러 관련된 상수 값들을 한 곳에 모아서 정리할 수 있도록 하는 타입. 숫자 enum은 재할당 가능, 문자열 enum은 구조적 타이핑이 아닌 명목적 타이핑을 사용한다는 단점이 있고, const enum은 런타임에 완전히 제거된다는 단점이 있다. enum대신 리터럴 타입의 유니온을 사용하는 것이 좋다. Q. JS/TS에서 정보를 감추기 위해 효과적인 방법? A. 클로저, 비공개 필드(#접두사) TS의 private접근 제어자는 런타임에는 아무런 효과가 없다. 회고 지금까지 내 타입스크립트는 진짜 얼..

TIL/TypeScript

[240118] 이펙티브 타입스크립트 3주차

Effective Typescript 5장, 6장을 읽고 선정한 인터뷰 질문과 스터디 내용입니다. 내용요약 5장 요약 링크 6장 요약 링크 인터뷰질문 Q. any 타입 대신 어떤 방법을 써볼 수 있을까? A. any타입의 범위 좁히기 함수의 매개변수 - 매개변수 그 자체에 any타입 단언 객체 - 객체 전체가 아닌 문제가 되는 부분만 any타입 단언 @ts-ignore사용하기 any 보다는 any[], {[key: string]: any}, ()=>any등의 표현 사용하기 모르는 값에는 any보다 unknown사용하기 npm type-coverage 패키지를 이용하여 any추적하기 Q. object vs Object vs {} vs {[key: string]: any} A. {} null과 undefin..

TIL/TypeScript

[240111] 이펙티브 타입스크립트 2주차

Effective Typescript 3장, 4장을 읽고 선정한 인터뷰 질문과 스터디 내용입니다. 내용요약 3장 요약 링크 4장 요약 링크 인터뷰질문 Q. 어떨 때 타입을 명시해야 하는가? A. 함수/메서드의 시그니처를 작성할 때, 객체 리터럴을 정의할 때, 함수의 반환값 Q. 제네릭이란? A. 타입을 마치 함수의 파라미터처럼 사용하는 것으로, 코드를 작성할 때가 아니라 코드가 수행될 때(런타임) 타입을 명시합니다. 여러 가지 타입에서 동작하는 컴포넌트를 생성하는 데에 유리합니다. Q. any와 unknown의 차이는? A. 둘 모두 모든 타입을 허용한다는 공통점이 있지만, unknown은 any와 다르게 다른 타입에 할당이 불가능하고, 타입 좁히기 없이 각 타입만의 연산들을 활용할 수 없습니다. 즉 u..

TIL/TypeScript

[240104] 이펙티브 타입스크립트 1주차

Effective Typescript 1장, 2장을 읽고 선정한 인터뷰 질문과 스터디 내용입니다. 내용요약 깃허브 저장소 1장 요약 링크 2장 요약 링크 인터뷰질문 Q. 프로젝트에 타입스크립트를 도입한 이유? A. 타입스크립트를 도입한 이유는 개발 생산성 향상입니다. 협업 시 문맥 파악이 용이하고 자동완성을 통해 효율성을 높일 수 있었습니다. 또한 컴파일 타임에 타입을 체크하는 정적 타이핑을 지원하기 때문에 에러를 사전에 방지할 수 있었습니다. Q. type을 선언하게 되면 코드가 늘어나는데, 이 부분에 대한 성능 처리? A. 타입스크립트는 자바스크립트 런타임 성능에 영향을 주지 않습니다. JS로 컴파일되는 과정에서 타입이 제거되기 때문입니다. Q. any타입을 지양해야 하는 이유 A. 프로젝트 중 느..

햄oOoOo
'Typescript' 태그의 글 목록