타입스크립트는 왜 "구조적 타이핑"을 사용할까?

최근 타입스크립트 학습을 시작했습니다. 그 중 "구조적 타이핑"과 다른 성격의 타입 시스템인 "명목적 타이핑"에 대해 학습해보았습니다. 그런데 "왜 타입스크립트는 왜 명목적 타이핑이 아닌 구조적 타이핑을 사용할까?" 라는 궁금증이 들더라구요. 결론부터 말하자면 다음 이유 때문인데요. 1. 타입스크립트는 자바스크립트의 Superset 언어를 지향 2. 기존 자바스크립트 코드를 작성하는 방법이 명목적 타이핑 방법과는 맞지않아서 만약 타입스크립트가 "명목적 타이핑"을 사용한다면 아래 자바스크립트 코드를 타입스크립트 코드로 바꿀 때 "값 수준의 코드 수정"이 필요합니다. ``` // 명목적 타입을 사용한다면 function addTodo(todo: Todo){ } // ❌ addTodo({ done: true, title: '오늘 할 일' }) // ✅ 런타임에도 영향을 주는 코드를 작성해야합니다. const todayTodo: Todo = { done: true, title: '오늘 할 일' }; addTodo(todayTodo) ``` 어쩌면 당연하게 사용해왔던 내용을 정리해보았습니다.

왜 타입스크립트는 구조적 타이핑을 사용할까?

velog.io

왜 타입스크립트는 구조적 타이핑을 사용할까?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 21일 오전 3:05

조회 186

댓글 0

    함께 읽은 게시물

    리트코드 102. Binary Tree Level Order Traver

    ... 더 보기

    Binary Tree Level Order Traversal | 알고달레

    알고달레

    Binary Tree Level Order Traversal | 알고달레

    어제 AI 시대의 개발자 토론회에서 내가 대 AI 시대에는 버전관리 시스템이 필요없을 수도 있다고 생각해야한다는 말을 했는데, 그정도로 파격적인 생각을 해야한다는 이야기긴했지만, 진짜 그럴까?를 다시 한 번 생각해봤다.


    우선 버전관리 시스템의 목적은 크게 다음 세 가지다.


    ... 더 보기

    조회 1,485


    스트레스를 잘 관리하면서 건강하게 살아가고 싶다면, 우선 살아있는 한 우리가 해야 할 일들은 영원히 없어지지 않을 것이므로, 해야 할 일을 100% 해내면서 할 일 목록을 완전히 없애는 데 많은 노력을 들이기보다는 70% 정도만 해내도 만족할 필요가 있다.

    ... 더 보기

    [박진영의 사회심리학]스스로 만들어 내는 스트레스

    m.dongascience.com

    [박진영의 사회심리학]스스로 만들어 내는 스트레스

    개발자는 개발만 잘하면 될까

    최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.

    ... 더 보기

     • 

    저장 14 • 조회 2,616



    iOS 19가 아니라 이제 iOS 26?

    ... 더 보기

    No iOS 19: Apple Going Straight to iOS 26

    MacRumors

    No iOS 19: Apple Going Straight to iOS 26