본문으로 이동
infer, never만 보면 두려워지는 당신을 위한 고급 TypeScript
컨퍼런스

infer, never만 보면 두려워지는 당신을 위한 고급 TypeScript

엔지니어링데이 2025 네이버 · YouTube

원문 보기

AI 핵심 요약

라이브러리 개발에서는 복잡한 제네릭 타입을 직접 읽고 검증해야 하지만, TypeScript의 추론 규칙을 모르면 `infer`와 `never`가 얽힌 선언을 이해하기 어렵다. 발표자는 타입 이론과 순서론을 바탕으로 서브타입 관계, 공변·반변, 제네릭 추론과 오버로드의 동작을 설명했다. 이어 조건부 타입과 재귀 타입을 조합해 중첩 객체를 평탄화하면서 리터럴 타입과 유니온 정보를 보존하는 함수의 타입을 구현했다. 정밀한 타입 추론은 라이브러리 사용성을 높일 수 있지만 복잡성과 가독성 비용이 따르므로, 필요한 수준을 판단하고 타입 테스트로 검증해야 한다는 점을 강조했다.

  • 타입의 대소 관계를 값의 대입 가능성으로 해석하면 타입 호환 오류를 체계적으로 판단할 수 있다.
  • 함수 타입은 반환값에서 공변, 매개변수에서 반변이 적용되며 매개변수 개수도 호환성에 영향을 준다.
  • 오버로드는 선언 순서대로 타입 인자 추론이 시도되므로 더 구체적인 시그니처를 앞에 두는 편이 안전하다.
  • 조건부 타입의 분배 동작을 활용하면 유니온을 구성원별로 필터링하거나 변환할 수 있다.
  • 재귀 조건부 타입은 평가가 무한히 반복되지 않도록 지연 평가와 종료 조건을 함께 설계해야 한다.

소개

네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2024(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] TypeScript의 타입 추론 원리를 타입 이론과 순서론에 근거하여 학습 실전 라이브러리 개발에서 풀 법한 문제 풀이 [대상] TypeScript 고급 사용자 라이브러리 개발 / 오픈소스 참여 등을 생각하시는 분 [기초 / 고급 / 응용] 00:00 ~ 31:09 기초타입이론 32:29 ~ 46:05 고급타입추론 46:06 ~ 1:12:03 응용문제

비슷한 학습 자료

컨퍼런스 당근 밋업

타입스크립트로 개발하면서 점점 느려지는 코드 추론 속도 때문에 고민했던 적 있으신가요? 시간이 지남에 따라 코드베이스가 커졌으니 자연스러운 수순이라고 생각할 수 있어요. 그런데 혹시 잘못 작성한 타입 때문에 타입 추론이 느려지고 있었다면요? 이 세션에서는 잘못된 타입이 타입스크립트 추론 속도를 어떻게 저하시키는지 살펴보고, 타입 추론의 병목 지점을 진단하고 해결할 수 있는 방법을 소개해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

프론트엔드 프로그래밍 언어

컨퍼런스 당근 밋업

당근의 2023 INFCON 기업프로그램 세션을 공개합니다. 이번 INFCON 에서는 당근의 개발 문화, 기술과 관련된 다양한 주제로 이야기를 나눠보았어요. 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 당근 2023 INFCON 다른 영상 확인 : https://www.youtube.com/playlist?list=PLaHcMRg2hoBqVWF6855yG_nIrYC6bXkyy

프로그래밍 언어

컨퍼런스 엔지니어링데이 2025

네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2024(10월)에서 발표되었던 세션을 공개합니다. [발표 내용] 타입시스템으로 도메인을 모델링하는 기법을 소개하고, 복잡한 도메인에서 보이지 않는 오류를 막을 수 있는 방법을 소개합니다. [목차] - 커피 주문 - 도메인과 도메인 모델 - 대수적 데이터 타입(Algebraic Data Type) - 현금 영수증 발급 수단 - 안전성과 비용관계 - 안전성의 의미 - 원시타입에 대한 집착 - 런타임 안전성 vs 컴파일 타임 안전성 - 실전 도메인: 주문서 결제수단 - 정리

프로그래밍 언어

문서 김병묵

타입호환성은 무엇이며 왜 필요할까요? 타입호환이 지원되지 않는 경우가 존재한다는 것을 아셨나요? 평소 익숙했던 개념들에 대해 질문을 던져가며 TypeScript 타입 시스템에 관해 심도있게 알아보고자 합니다.

프로그래밍 언어

문서 박서진

TypeScript 코드베이스의 타입 안전성을 한 단계 올려줄 수 있는 Template Literal Type의 뜻과 응용에 대해 알아봅니다.

프로그래밍 언어

컨퍼런스 INFCON 2024

🌱 인프런 에서 인프콘2024 강의 자료 다운로드 받고 복습해보세요. 🩵 강의 자료 다운 받기 : https://u.inf.run/4cLhYyK 🌱 인프런과 함께 배우고, 나누고, 성장하세요. 🩵 멀티패러다임 프로그래밍 언어의 시대: 객체지향과 함수형을 섞어야할 때! - 유인동 함수형, 객체지향 패러다임을 모두 제공하는 멀티패러다임 언어를 효율적으로 사용하는 법 - 타입스크립트로 Tagged Templates를 만들면서 멀티패러다임 개발 패턴을 소개합니다. #인프콘 #인프런 #인프콘2024 #인프콘2024다시보기

프로그래밍 언어