TypeScript를 사용하다 보면 함수 타입 할당에서 예상과 다른 결과를 마주할 때가 있다.특히 "더 구체적인 타입을 받는 함수를 더 일반적인 타입을 받는 함수에 할당할 수 없다"는 규칙은 처음에는 직관적이지 않게 느껴질 수 있다. 이는 TypeScript의 반공변성(Contravariance)이라는 개념 때문인데,어려운 용어는 잠시 제쳐두고 음식과 요리사 예시를 통해 이 개념을 이해해보자.기본 타입 관계부터 살펴보기먼저 간단한 타입 관계를 정의해보겠다:type Food = 'pizza' | 'burger' | 'salad'type Pizza = 'pizza'여기서 Pizza는 Food의 부분집합이다. 따라서 다음과 같은 할당이 가능하다:const a: Food = 'pizza' // ✅ OK - ..
typescript
Next13을 공부하며 기존 가지고 있던 템플릿 코드를 Next13으로 업데이트했습니다. Next13에 새로 도입된 기능, 문법들이 전부 적용되지는 않았지만 차차 적용시키고 예시도 추가할 예정입니다. Next를 어느 정도 알고 계시면 문제없이 사용하실 수 있지만 Next 자체가 꽤 난이도 있는 프레임워크이기 때문에 Next를 어느정도 숙지하신 상태에서 사용하시면 좋을 것 같습니다! 사용된 스택 Next13 TypeScript TailwindCSS Zustand React Query https://github.com/bysxx/next13-ts-template-tailwind GitHub - bysxx/next-ts-template-tailwind: Next + TypeScript Template Next..
작년 11월 Nuxt 3 stable 버전이 출시되었다 (Reference) Announcing 3.0 · Nuxt We are thrilled to announce the first stable version of Nuxt 3.0.0 ✨ Nuxt 3 is a modern rewrite of the Nuxt framework based on Vite, Vue3, and Nitro with first-class Typescript support and the result of more than two years of research, community feedback nuxt.com 한글로 된 관련 문서가 없는 것 같아 요것 먼저 작성해볼까 한다 우선 가장 큰 변화점은 Vue3를 지원해 준다는 점이다. 사..