Closed 2yunseong closed 1 year ago
제가 상표 속성에 대해 이해한 내용을 간단히 적어봤는데, 처음 접하는 개념이라 제대로 이해했는지 모르겠습니다. 잘못 이해한 부분이나 부족한 부분이 있다면 알려주시면 감사하겠습니다!!!😄
구조적 타이핑의 특성 때문에 코드가 의도치 않은 결과를 도출할 때가 있는데, 이를 방지하고자 상표 속성이라는 것을 사용한다.
_brand
속성이 있는 값만 타입 검사를 통과하는데,is
keyword 등을 사용해서_brand
속성이 없는 값이라도 특정 조건을 만족한다면 타입 검사를 통과하도록 시스템을 속인다!이런 과정을 통해 타입 가드를 할 수 있다.
@loopy-lim
배울 수록 javascript를 넘는 무언가가 완성이 되는거 같네요. 그래서 사람들이 typescript를 배척하는건가...?
가지기 힘든 건 시기하기 마련이죠 ㅋㅋ 우린 시기하지 맙시다
@bada308
구조적 타이핑의 특성 때문에 코드가 의도치 않은 결과를 도출할 때가 있는데, 이를 방지하고자 상표 속성이라는 것을 사용한다.
맞습니다~ 👍 상표는 구조적 타이핑과 타입 체크가 가진 한계를 뛰어넘는 한 가지 방식 이라고 생각하면 될 것 같습니다~
_brand 속성이 있는 값만 타입 검사를 통과하는데, is keyword 등을 사용해서 _brand 속성이 없는 값이라도 특정 조건을 만족한다면 타입 검사를 통과하도록 시스템을 속인다! 이런 과정을 통해 타입 가드를 할 수 있다.
네~ 실제 런타임에 존재할 수 없는 타입을 생성해 특정 타입 취급을 해버린다고 생각하면 될 것 같아요.
개인적으로는 '절대경로의 시작은 /로 시작해야한다.' '이진 탐색 함수에 인자로 넘어오는 배열은 반드시 정렬되어 있어야 한다' 같은 도메인적으로 안전성을 보장해야하는 코드들을 타입시스템에서 한다는게 상표 붙이기의 가장 유의미한 사용이 아닐까 생각이 드네요!
사족이지만 꼭 변수명을 _brand
로 할 필요는 없고, 구분할 수 있는 무언가를 붙이면 될 것 같습니다~!
제가 이번 주에 공부한 내용에는 채승님이 주제로 잡은 Type Guard 내용이 나옵니다~
어려운 부분이 있다면 어떤 부분이 어려운 지 코멘트로 남겨주세요. 감사합니다.