Skip to content
On this page

2021년08월05일

수정하기
문서 생성 2021-08-05 12:53:02 최근 수정 2021-08-05 23:12:55
On this page

Note

TypeScript

유니온 타입

  • 특정 타입을 정의할 때 하나 이상을 합쳐서 정의할 수 있다.
    inertface Developer {
    name: string
    lang: string
    tool: string
    }
    inerface Person {
    name: string
    lang: string
    age: 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: string
public age: number
readonly log: string
constructor(name: string, age: number) {
this.name = name
this.age = age
this.log = `created, Person ${this.name}`
}
}
let yj = new Person('yj', 99)
console.log(yj.age);
console.log(yj.log);
yj.log = 'test' // error
yj.name = 'yjyj' // error

reference

log

  • 역류성 식도염이 도졌다. 며칠전에 먹은 떡볶이가 문제인 것 같다. 이제 정말 건강을 챙겨야할 시기가 온 것을 절실히 느낀다. 목 통증이 두통과도 연결되어 오전엔 공부를 못했다. 너무 속상하다. 내 건강 내가 챙겨야 한다.
  • 계속 공부하고 있는 타입스크립트 강의는 뷰강의 처럼 기본 문법을 알려주셔서 좋다.
    • enum도 알게되었는데 예전에 C#으로 개발했을 때 몇번 사용했었다. 검색하니 enum과 관련하여 이 하나 나왔다. enum을 사용하지 않는 게 좋은 이유를 알게되었는데 원래라면 전혀 이해하지 못했을 내용이라서 역시 공부를 해야하는구나 하고 한번 더 느꼈다.
      • Tree-Shaking 이라는 용어도 예~~전에 어떤 블로그에서 읽은 것 같았는데 무엇인지 알게되었다.

LINKS TO THIS PAGE