TypeScript 3

TypeScript 브랜딩(Branding) 개념과 활용법

TypeScript 브랜딩(Branding) 개념과 활용법TypeScript를 사용하다 보면, 동일한 기본 타입을 공유하지만 서로 다른 의미를 갖는 값을 구분하고 싶을 때가 있다. 예를 들어, 숫자로 표현되는 UserId와 OrderId를 혼동해서 사용하는 실수를 방지하고 싶다면 어떻게 해야 할까?이런 경우에 브랜딩(Branding) 기법을 활용하면 타입을 더욱 안전하게 관리할 수 있다.1. TypeScript 브랜딩이란?브랜딩(Branding)은 TypeScript의 타입 시스템을 활용하여 기본 타입(primitive type)에 의미를 부여하는 기법이다. 이를 통해 동일한 기본 타입을 사용하지만, 의도치 않은 값의 혼용을 방지할 수 있다.예를 들어, 아래와 같은 코드에서 number 타입을 직접 사용..

Develope/기타 2025.02.11

Typescript Infer란?

infer란 무엇인가?infer 키워드는 TypeScript의 조건부 타입(Conditional Types)과 함께 사용되어 특정 타입을 추론할 수 있는 메커니즘을 제공한다. 기본적으로 제네릭 타입에서 특정 부분을 추출하거나 변환할 때 유용하며, 타입스크립트가 타입을 추론하는 과정에서 특정 타입을 변수처럼 사용할 수 있다.type Example = T extends infer U ? U : never;여기서 T extends infer U는 T 타입을 U라는 이름으로 추론하겠다는 의미이다. 이 간단한 예제는 T 타입 자체를 U로 추론하고, 그 결과로 U를 반환합니다infer의 실제 활용 예제infer 키워드를 사용하면 복잡한 타입에서 특정 부분을 쉽게 추출할 수 있으며, 이를 통해 타입 변환을 간결하게 ..

Develope/기타 2024.08.26

Typescirpt any, unknown, never 정리

anyany 타입으로 선언되었을 경우에는 어떠한 타입의 될 수 있는 타입을 의미한다. any를 사용하면 TypeScript의 타입 체크를 우회할 수 있기에 해당 변수에 어떠한 타입의 값이든 할당할 수 있다. 이로 인하여 타입 안정성이 없어지므로, 런타임 오류가 발생할 가능성이 높아진다.let something: any;something = 123; // 숫자 할당 가능something = "hello"; // 문자열 할당 가능something = true; // 불리언 할당 가능something.someMethod(); // 타입 오류 없음, 하지만 런타임에 오류가 발생할 수 있음unknownunknown 타입은 any와 마찬가지로 어떤 타입의 값이든 담을 수 있지만, 그 값을 사용하기 전에 타입 검사를..

Develope/기타 2024.08.16