typescript(6)
-
이펙티브 타입스크립트: 3장 요약 및 핵심 정리
이펙티브 타입스크립트 3장에서는 타입스크립트를 효과적으로 사용하는 방법에 대해 다룹니다. 주로 타입 설계와 작성 시 올바른 습관과 패턴을 강조하며, 타입스크립트 코드의 품질과 유지보수성을 높이는 다양한 전략을 소개합니다.1. 값을 기준으로 타입을 설계하라타입 설계는 프로그램에서 사용하는 값(value)을 기반으로 해야 합니다. 타입은 값이 가질 수 있는 가능한 상태를 모델링하는 것이며, 실제 값이 타입의 설계와 잘 맞아야 합니다.const status = "success"; // 값 기반 타입 설계type Status = "success" | "error" | "loading"; // 유효한 상태만 나열Tip: 값의 패턴과 의미를 반영한 타입을 설계하면 불필요한 오류를 줄이고, 의도를 명확히 할 수 있습..
2025.01.24 -
이펙티브 타입스크립트: 2장 요약 및 핵심 정리
타입스크립트는 자바스크립트를 정적 타입 언어로 확장한 도구입니다. 타입스크립트를 제대로 활용하려면, 기본 원리를 이해하고 올바른 사용 방식을 익히는 것이 중요합니다. 이번 글에서는 이펙티브 타입스크립트 2장의 내용을 기반으로, 타입스크립트의 핵심 개념을 살펴보겠습니다.1. 타입스크립트의 타입 시스템타입스크립트는 구조적 서브타입 시스템(Structural Type System)을 채택하고 있습니다.이는 객체의 타입이 구조(속성과 속성 타입)에 의해 결정된다는 것을 의미합니다. 예를 들어, 아래 두 객체는 서로 다른 인터페이스로 선언되었지만, 속성과 타입이 동일하기 때문에 호환됩니다.interface Point2D { x: number; y: number;}interface Point3D { x: nu..
2025.01.24 -
TypeScript 의 열거형 (ENUM) 과 대안 패턴
TypeScript의 열거형(enum)은 코드의 가독성과 유지보수성을 높이기 위해 자주 사용됩니다.이번 글에서는 열거형의 역할과 대안 패턴들을 살펴보겠습니다.열거형의 역할TypeScript의 열거형은 크게 두 가지 역할을 수행합니다:객체 정의: 열거형은 멤버 키를 멤버 값에 매핑하는 객체를 정의합니다.타입 정의: 열거형은 멤버 값만을 포함하는 타입을 정의합니다.예를 들어, 다음과 같은 열거형이 있다고 가정해봅시다:enum Color { Red = 0, Green = 'GREEN',}위 코드는 Color.Red와 Color.Green이라는 두 가지 멤버를 정의하며, 각각 0과 'GREEN' 값에 매핑됩니다.열거형의 활용 사례열거형은 다음과 같은 상황에서 유용합니다:1. 관련된 상수들의 네임스페이스로 사..
2025.01.24 -
이펙티브 타입스크립트: 1장 요약 및 핵심 정리
이 글은 "이펙티브 타입스크립트"의 1장 "타입스크립트 알아보기"를 요약한 내용입니다. 이 장에서는 타입스크립트와 자바스크립트의 관계, 타입스크립트의 설정 옵션, 구조적 타이핑 개념 등을 다룹니다.타입스크립트와 자바스크립트의 관계 이해하기타입스크립트는 자바스크립트의 상위 집합으로, 자바스크립트에 타입 시스템을 추가한 언어입니다. 모든 자바스크립트 코드는 유효한 타입스크립트 코드지만, 그 반대는 성립하지 않습니다.타입스크립트 예시:function greet(who: string) { console.log('Hello', who);}자바스크립트 예시:function greet(who) { console.log('Hello', who);}타입스크립트 코드는 최종적으로 자바스크립트로 컴파일되어 실행됩..
2023.11.02 -
NestJS에서 @typescript-eslint/no-unused-vars 오류 해결 방법
NestJS 프로젝트를 개발하다 보면, @typescript-eslint/no-unused-vars 오류가 발생하는 경우가 있습니다. 특히, 특정 버전의 @typescript-eslint 패키지를 사용할 때 이 문제가 더 빈번히 나타날 수 있습니다. 이 글에서는 오류의 원인, 해결 방법, 그리고 관련 GitHub 이슈에서 제시된 최신 정보를 바탕으로 한 개선 사항을 다룹니다.1. 오류 발생 상황NestJS 프로젝트에서 다음과 같은 오류를 만날 수 있습니다:[eslint] '@typescript-eslint/no-unused-vars' error: 'XXX' is declared but its value is never read.예제 코드import { Injectable } from '@nestjs/co..
2022.12.15 -
Typescript 에서 동적 변환 타입 처리하기: Bithumb API 활용
Bithumb API를 활용하여 가상 자산 정보를 처리하는 과정에서 발생할 수 있는 문제 중 하나는, API 메서드의 반환 타입이 동적으로 변하는 경우입니다. 특히, post /info/balance 메서드는 전달되는 파라미터에 따라 반환되는 값의 타입이 달라지기 때문에, 이 문제를 처리하는 데 유용한 제네릭(Generic)을 활용하는 방법을 다뤄보겠습니다.이 글에서는 Node.js 환경에서 Bithumb API를 사용할 때 발생할 수 있는 동적 반환 타입 문제를 어떻게 해결할 수 있는지 구체적으로 설명합니다.1. Bithumb API 기본 개요Bithumb는 가상 자산 거래소로, 다양한 API를 제공하여 사용자가 거래소에서 발생하는 여러 정보를 처리하고 활용할 수 있도록 돕습니다. Bithumb의 AP..
2021.10.03