타입스크립트(5)
-
이펙티브 타입스크립트: 8장 요약 및 핵심 정리
기존 자바스크립트 프로젝트를 타입스크립트로 전환하는 과정에서 고려해야 할 사항과 단계별 접근 방법을 다룹니다.1. 모던 자바스크립트로 작성하기타입스크립트로의 전환을 준비하기 전에, 기존 자바스크립트 코드를 최신 문법으로 업데이트하는 것이 중요합니다.타입스크립트는 결국 자바스크립트의 superset 이기 때문에, 최신 버전의 코드를 입력하다보면 타입스크립트를 저절로 익힐 수도 있습니다. 권장하는 코드 스타일1. CommonJS -> ES 모듈 사용기존의 CommonJS 방식(require, module.exports)에서 ES 모듈 방식(import, export)으로 변경하는 것이 권장됩니다. ES 모듈은 정적 분석이 가능하며, 트리 쉐이킹(tree-shaking)과 같은 최적화 기능을 활용할 수 있습니..
2025.02.04 -
이펙티브 타입스크립트: 7장 요약 및 핵심 정리
이번 글에서는 이펙티브 타입스크립트 7장의 내용을 정리합니다. 이번 장에서는 실제 코드를 작성 중에 겪을 수 있는 문제들을 주로 다룹니다.1. 타입스크립트 기능보다는 ECMAScript 기능을 사용하기타입스크립트는 자체적인 기능을 제공하지만, ECMAScript 표준을 따르는 것이 더 나은 경우가 많습니다. 특히 다음과 같은 경우 ECMAScript의 기능을 사용하는 것이 좋습니다.열거형(enum) 대신 리터럴 타입 유니온 사용타입스크립트의 enum은 런타임에도 유지되는 값이므로, 사용하지 않는 것이 좋습니다. 대신 리터럴 타입 유니온을 사용하는 것이 더욱 안전합니다.enum FlavorEnum { VANILLA = "VANILLA", CHOCOLATE = "CHOCOLATE", STRAWBERRY..
2025.02.03 -
이펙티브 타입스크립트: 6장 요약 및 핵심 정리
이번 글에서는 이펙티브 타입스크립트 6장의 내용을 정리하고, 타입 선언과 관련된 베스트 프랙티스를 살펴보겠습니다. 타입스크립트의 타입 시스템을 보다 효과적으로 활용하기 위한 가이드라인을 확인해보세요.1. devDependencies에 TypeScript와 @types 추가하기TypeScript는 개발 도구이므로 devDependencies에 포함시키는 것이 일반적입니다. 만약 전역 설치를 하거나 dependencies에 추가하면 팀원 간 TypeScript 버전 불일치 문제가 발생할 수 있습니다. 따라서, 프로젝트 내부에서 TypeScript 버전을 고정하여 관리하는 것이 좋습니다.{ "devDependencies": { "typescript": "^5.0.0", "@types/node": ..
2025.01.30 -
이펙티브 타입스크립트: 5장 요약 및 핵심 정리
타입스크립트에서 any 타입은 유용하면서도 조심해야 할 요소입니다. any를 잘못 사용하면 타입스크립트의 강력한 타입 시스템이 무용지물이 될 수 있지만, 적절히 사용하면 코드의 유연성을 높일 수도 있습니다. 이번 글에서는 any 타입을 효과적으로 활용하는 방법을 정리해보겠습니다.1. any 타입은 가능한 한 좁은 범위에서만 사용하기any 타입은 타입 검사를 피하는 역할을 하기 때문에 광범위하게 사용하면 코드의 안정성이 떨어질 수 있습니다. 특히 함수의 반환 타입으로 any를 사용하면 이후 코드에서 예측 불가능한 오류가 발생할 가능성이 높아집니다.function fetchData(): any { return JSON.parse('{ "name": "Henry", "age": 30 }');}const us..
2025.01.29 -
이펙티브 타입스크립트 4장: 요약 및 핵심 정리
타입스크립트는 자바스크립트의 강력한 확장 언어로, 타입 시스템을 통해 코드의 안정성과 가독성을 높일 수 있습니다. 하지만 올바르게 사용하지 않으면 타입스크립트의 강점이 약점으로 작용할 수 있습니다. 이번 글에서는 "이펙티브 타입스크립트" 4장의 내용을 기반으로 타입 설계의 원칙과 모범 사례를 정리합니다.1. 유효한 상태만 표현하는 타입을 지향하기타입을 설계할 때, 무효한 상태를 표현할 수 있는 타입은 잠재적으로 오류를 유발합니다. 이를 방지하기 위해 유효한 상태만을 표현하는 타입을 사용하는 것이 중요합니다.잘못된 예시interface State { pageText: string; isLoading: boolean; error?: string;}위 타입에서는 isLoading이 true이면서 erro..
2025.01.25