2021년08월05일
수정하기
문서 생성 2021-08-05 12:53:02 최근 수정 2021-08-05 23:12:55
Note
TypeScript
유니온 타입
- 특정 타입을 정의할 때 하나 이상을 합쳐서 정의할 수 있다. inertface Developer {name: stringlang: stringtool: string}inerface Person {name: stringlang: stringage: number}const askSomething = (someone: Developer | Person) => {// Developer와 Person 타입의 공통 속성에만 접근할 수 있다.(함수 안에서만)someone.age // error// 타입스크립트 입장에선 someone 파라미터에 어떤 타입의 값이 들어올지 모르기에// 타입 가드 처리가 필요하다.}// 타입 가드: 특정 타입으로 타입의 범위를 좁혀나가는 과정const sayHello(name: number | string) {if (typeof name === 'string') {} else if (typeof name === 'number') {}}
인터섹션 타입
- 타입을 정의할 때
&
연산자를 이용한다.const yellAtSomeone = (someone: Developer & Person) => {...}yellAtSomeone({ name: 'yj', lang: 'korean', age: 100, tool: 'hammer' })// 함수 사용시에는 모든 속성을 넘겨야하기 때문에 결국 두 타입이 합쳐진 새로운 타입을// 사용하게 되는 것
클래스
// 멤버 변수 접근범위도 설정할 수 있다.class Person {private name: stringpublic age: numberreadonly log: stringconstructor(name: string, age: number) {this.name = namethis.age = agethis.log = `created, Person ${this.name}`}}let yj = new Person('yj', 99)console.log(yj.age);console.log(yj.log);yj.log = 'test' // erroryj.name = 'yjyj' // error
reference
log
- 역류성 식도염이 도졌다. 며칠전에 먹은 떡볶이가 문제인 것 같다. 이제 정말 건강을 챙겨야할 시기가 온 것을 절실히 느낀다. 목 통증이 두통과도 연결되어 오전엔 공부를 못했다. 너무 속상하다. 내 건강 내가 챙겨야 한다.
- 계속 공부하고 있는 타입스크립트 강의는 뷰강의 처럼 기본 문법을 알려주셔서 좋다.
enum
도 알게되었는데 예전에 C#으로 개발했을 때 몇번 사용했었다. 검색하니 enum과 관련하여 글이 하나 나왔다. enum을 사용하지 않는 게 좋은 이유를 알게되었는데 원래라면 전혀 이해하지 못했을 내용이라서 역시 공부를 해야하는구나 하고 한번 더 느꼈다.- Tree-Shaking 이라는 용어도 예~~전에 어떤 블로그에서 읽은 것 같았는데 무엇인지 알게되었다.