holdanddeepdive / typescript-study

4 stars 0 forks source link

이펙티브 타입스크립트 3장 #20

Open Choozii opened 1 year ago

Choozii commented 1 year ago

19. 추론 가능한 타입을 사용해 장황한 코드를 방지

20. 다른 타입에는 다른 변수 사용하기

21. 타입 넓히기

22. 타입 좁히기

23. 객체 생성하기

humonnom commented 1 year ago

24.일관성 있는 별칭 사용하기

const aliasForList = originObj.list;

aliasForList[0] = 42;

console.log(originObj.list);

2. 구조분해할당 이후에 원본을 변경하면 변경사항이 구조분해할당 된 변수에는 적용되지 않으므로 원본과 차이가 생김
```ts
// list: [42, 2, 3]

const { list } = originObj;

originObj.list = [100, 200, 300];

console.log(originObj.list); // [42, 2, 3]
console.log(list); // [100, 200, 300]

const { name } = props

지역변수 속성을 그대로 사용
name props.name

25. 비동기 코드에는 콜백 대신 async 함수 사용하기

version new
ES2015 프로미스
ES2017 async await

26. 타입추론에 문맥이 어떻게 사용되는지 이해하기

27. 함수형 기법과 라이브러리로 타입 흐름 유지하기

왜 ?

  • 순수 JS만 사용하여 코드를 짜면 절차형으로 짜거나, 함수형으로 짜도 알아보기 어렵다.
  • Lodash에서 제공하는 함수를 사용하면 코드 수가 줄어들고 알아보기 편하다.
  • 서드파티 라이브러리를 도입하는데 비용이 많이 들면 신중히 생각해야하는데, ts랑 함께 쓴다면 도입하는 것이 낫다.
  • 타입 정보를 참고하면서 작업할 수 있고, 타입 구문을 작성할 필요가 줄어듬 => 오히려 시간이 적게 든다 => 유리함