Part2_Type
김은정
이야기해보기

구조적 타이핑과 덕 타이핑

  • 구조적 타이핑과 덕 타이핑의 명확한 개념 구분이 아직 잘 되지 않는 것 같음..

우형 이야기

  • 한 사람의 의견이 아니라 팀별로 다양한 의견을 볼 수 있는 점이 흥미로웠음

    (enum과 유니온, enum과 const enum, interface과 type 등)

    type과 interface를 둘 다 쓸 수 있는 상황에서 팀은 주로 어떤 것을 사용하나요?


    1. 배달이팀

      • 대부분의 상황에서 interface 사용, 간단한 용도로는 type도 사용
      • 공식 문서에 쓰인 내용을 바탕으로 전역적으로 사용할 때는 interface를, 작은 범위 내에서 한정적으로 사용한다면 type
    2. 냥이팀

      • type은 어떤 값에 대한 정의같이 정적으로 결정되어 있는 것을,
      • interface는 확장될 수 있는 basis를 정의하거나 어떤 object 구성을 설명하는 요소
    3. 봉다리팀

      • 선언 병합이 필요할 때는 interface
      • computed value를 사용해야 한다면 type
    4. 왕팀

    • interface의 필요성을 느끼지 못하고 있어 type 정의를 주로 사용 팀 내에서 type이나 interface만을 써야 하는 상황이 있었나요?

    1. 배달이팀
      • interface : 객체 지향적으로 코드를 짤 때, 특히 상속하는 경우에 (ex: extends, implements 사용 시)
    2. 냥이팀
      • type : 유니온 타입이나 교차 타입 등 type 정의에서만 쓸 수 있는 기능을 활용할 때
      • interface : 기존 인터페이스를 정의하고 확장할 때
    3. 메이팀
      • type : props에 Record 형식을 extends할 때 interface로 선언된 변수를 넣으면 에러가 발생해서 type으로 변경함. interface처럼 인덱스 키가 따로 설정되지 않으면 오류가 발생하는 듯
    4. 봉다리팀
      • type : computed value를 써야 했을 때