[240109] 올해 버려야 할 타입스크립트 나쁜 버릇 10가지
올해 버려야 할 타입스크립트 나쁜 버릇 10가지
- 3년전 글이지만 좋은 내용이 많아서 정독
- 일하면서도 배웠던 내용들도 들어있었다.
- 10 bad TypeScript habits to break this year
감명받은 핵심 내용
옵셔널 프로퍼티
잘못된 코드
interface Product {
id: string
type: "digital" | "physical"
weightInKg?: number
sizeInMb?: number
}
올바른 코드
interface Product {
id: string
type: "digital" | "physical"
}
interface DigitalProduct extends Product {
type: "digital"
sizeInMb: number
}
interface PhysicalProduct extends Product {
type: "physical"
weightInKg: number
}
- 명시적인 타입을 가질수록 발견되지 않을 수 있었던 버그에 대한 컴파일 검사 받을 수 있음
뱅뱅 연산자
잘못된 코드
function createNewMessagesResponse(countOfNewMessages?: number) {
if (!!countOfNewMessages) {
return `You have ${countOfNewMessages} new messages`
}
return "Error: Could not retrieve number of new messages"
}
올바른 코드
function createNewMessagesResponse(countOfNewMessages?: number) {
if (countOfNewMessages !== undefined) {
return `You have ${countOfNewMessages} new messages`
}
return "Error: Could not retrieve number of new messages"
}
- 나도 c#, c++ 개발을 더 오래 했어서, 코드베이스를 이해하기 어렵게 만든다는 말에 공감
- 잠재적 버그도 만들기 쉬움
Leave a comment