typescript7 [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 20 ~ 25 이펙티브 타입스크립트 읽고 정리아이템 1 ~ 5 보러가기아이템 6 ~ 8 보러가기아이템 9 ~ 13 보러가기아이템 14 ~ 16 보러가기아이템 17 ~ 19 보러가기 2️⃣0️⃣ 아이템 20. 다른 타입에는 다른 변수 사용하기 자바스크립트에서는 변수에 타입이 존재하지 않기 때문에 어떠한 타입의 값도 저장할 수 있다. 하지만 타입스크립트에서는 변수에 타입을 지정하고 해당 타입의 값만 사용하는 것이 좋다.let value1 = "10";value1 = 10;let value2: string = "10";value2 = 10; // 타입 에러 발생 이를 통해 얻을 수 있는 장점은 변수의 값을 어느 정도 예측가능하기 때문에 이를 통해서 변수를 사용했을 때 발생할 수 있는 문제를 미연에 방지할 수 있다. 그리고 .. 2025. 6. 22. [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 17 ~ 19 이펙티브 타입스크립트 읽고 정리 아이템 1 ~ 5 보러가기아이템 6 ~ 8 보러가기아이템 9 ~ 13 보러가기아이템 14 ~ 16 보러가기 1️⃣7️⃣ 아이템 17. 변경 관련된 오류 방지를 위해 readonly 사용하기함수의 매개변수를 수정하지 않는다면 readonly로 선언하는 것이 좋다. 함수 내부에서 매개변수를 수정하는 코드를 추가하면 타입에러를 발생시켜 준다. 아래 코드와 같이 Readonly를 사용하더라도 중첩된 객체까지 readonly가 적용되지 않는다. 얕게만 적용된다.interface A { a: { b: number; }}const obj: Readonly = { a: { b: 1 }};obj.a.b = 2; 1️⃣8️⃣ 아이템 18. 매핑된 타입을 사용하여 값을 동.. 2025. 6. 15. [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 14 ~ 16 이펙티브 타입스크립트 읽고 정리 아이템 1 ~ 5 보러가기아이템 6 ~ 8 보러가기아이템 9 ~ 13 보러가기1️⃣4️⃣ 타입 연산과 제너릭 사용으로 반복 줄이기타입을 작성할 때도 코드 작성때와 마찬가지로 중복을 줄이는 것이 좋다. 인터페이스에서는 extends, 타입에서는 & 연산자를 통해 공통 속성에서의 확장을 통해 중복을 줄 일 수 있다.interface Person { name: string;}interface Student extends Person { school: string;} 타입은 자바와 달리 타입이 닫혀있지 않기 때문에 좀 더 유연하게 확장할 수 있다. 공통 속성을 잘 정의 해 놓으면 이후 타입 확장을 통해 중복 코드를 줄이기 쉽다. 확장하려는 타입이 항상 부모 타입의 속성을 가지는 .. 2025. 6. 14. [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 9 ~ 13 이펙티브 타입스크립트 읽고 정리 아이템 1 ~ 5 보러가기아이템 6 ~ 8 보러가기 9️⃣ 아이템 9. 타입 단언보다는 타입 선언을 사용하기값에 타입을 부여하는 방법은 두가지가 존재한다.타입 단언 : 변수 선언 시 타입을 지정하는 방법타입 선언 : 값에 타입을 지정하는 방법타입 선언을 사용하는 경우 변수에 값 할당 시 해당 값이 지정된 타입을 만족하는지를 체크한다.타입 단언은 타입스크립트가 추론한 타입을 무시하고 지정한 타입으로 강제로 지정하는 것이다. 아래에서 보듯이 동일한 {} 값을 변수에 할당할 때 person1에는 타입에러가 발생하고 person2는 타입에러가 발생하지 않는다. {} 는 Person이 아니기 때문에 타입 에러가 발생해야한다. 하지만 단언에서는 발생하지 않기 때문에 추후 문제가 발생.. 2025. 6. 8. [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 6 ~ 8 이펙티브 타입스크립트 읽고 정리아이템 1 ~ 5 보러가기 6️⃣ 아이템 6. 편집기를 사용하여 타입 시스템 탐색하기타입스크립트를 사용하면 IDE를 통해서 언어 서비스를 제공받을 수 있다.아래와 같이 변수 num을 선언하면 num 변수의 값은 number 타입이라는 것을 자동으로 추론해주고 확인할 수 있도록 해준다.let num = 10; 언어서비스를 통해 제공받는 것은 다음과 같다.에러가 발생했을 때 무엇이 잘못되었는지 파악하는데 용이값이 어떠한 타입인지를 시각적으로 표현자동완성 기능 제공 7️⃣ 아이템 7. 타입이 값들의 집합이라고 생각하기타입스크립트에서의 타입은 값들의 집합이라고 생각하면 쉽다. 예를들어 number 타입은 0, 1, 2 등과 같은 숫자들의 집합이다.기존에 제공하는 타입 뿐 아니라.. 2025. 6. 3. [TypeScript] 이펙티브 타입스크립트 정리 - 아이템 1 ~ 5 이펙티브 타입스크립트 읽고 정리🎤 소개프로젝트에 타입스크립트를 사용할때 API에서 받아오는 데이터 또는 함수의 인자에 타입을 정의하는 용도 위주로만 타입스크립트를 활용하였다. 타입에러가 발생했을 때 아직 깊은 부분까지 알지 못하다보니 왜 문제가 발생했고, 어떻게 해결해야할지 명확한 방법을 알지 못한채 타입 단언 등으로 임시방편 처리만 하는 일이 잦았다. 그래서 타입스크립트에 대한 공부를 더 해야겠다는 생각이 들어 이펙티브 타입스크립트를 공부하게 되었다. 책을 읽기 전에는 나름 타입스크립트에 대해서 어느정도는 알고 있었다고 생각했으나, 책을 모두 보고 나니 지금까지는 수박 겉 핥기로만 해왔다는 걸 느꼈다. 그래서 타입스크립트에 대해서 좀 더 깊이있게 공부하고 싶거나, 타입스크립트의 활용방안에 대해서 알.. 2025. 6. 1. 이전 1 2 다음