일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- configmodule
- 2024년 회고록
- 와글와글
- 타입스크립트
- 회고
- mysql
- 굿바이 2024년
- 타입챌린지
- TypeScript 타입챌린지
- 이펙티브 타입스크립트
- 코딩테스트
- node.js
- HTTP
- TypeScript
- 타입 챌린지
- network
- microsoft azure openai
- 월간cs
- npm
- Type Challenge
- configservice
- typeorm
- 스터디
- nestjs
- type-safe configservice
- 해커톤
- typescript type challenge
- 백엔드
- 회고록
- mysql boolean
- Today
- Total
목록TypeScript (8)
iamkanguk.dev

문제 https://github.com/type-challenges/type-challenges/blob/main/questions/00003-medium-omit/README.md type-challenges/questions/00003-medium-omit/README.md at main · type-challenges/type-challenges Collection of TypeScript type challenges with online judge - type-challenges/type-challenges github.com 풀이 type MyOmit = { [U in keyof T as U extends K ? never : U]: T[U] } /* _____________ 테스트 케이스 __..

문제 https://github.com/iamkanguk97/type-challenges/blob/main/questions/00189-easy-awaited/README.md 풀이 type MyAwaited = T extends PromiseLike ? R extends PromiseLike ? MyAwaited : R : never; /* _____________ 테스트 케이스 _____________ */ import type { Equal, Expect } from '@type-challenges/utils' type X = Promise type Y = Promise type Z = Promise type Z1 = Promise type T = { then: (onfulfilled: (arg: ..

최근에 타입 챌린지를 풀면서 T extends A ? B : C와 같은 코드를 많이 작성했던 것 같다. 그런데 막상 개념은 모르고 그냥 이런 느낌이구나~ 라고만 알면서 문제를 풀었던 것 같아서 찝찝했는데 공부를 하던 중 좋은 글을 확인해서 공부한 내용을 블로그에 적어보려고 한다. 참고한 블로그 링크는 아래 참고자료에 첨부 할 예정이니 참고하시면 좋을 것 같다! 1. 타입은 가능한 값의 집합이다? 타입은 가능한 값의 집합이다라는 말이 있다. 이 포스팅을 쓰기 전에는 이해가 아예 안됐다. 느낌조차도 오지 않았다 ㅠ 예를 들어 never 타입은 어떤 값도 할당할 수 없는 타입이다. 그래서 공집합({})이라고 말할 수 있다. 그런데 number 타입은 정수, 소수를 할당할 수 있는 타입이다. 이 예시를 보면 충..

문제 https://github.com/type-challenges/type-challenges/blob/main/questions/00014-easy-first/README.md type arr1 = ['a', 'b', 'c'] type arr2 = [3, 2, 1] type head1 = First // expected to be 'a' type head2 = First // expected to be 3 Expect, Expect 123>>, Expect, Expect, 풀이 // S1 type First = T extends [] ? never : T[0]; // S2 type First = T["length"] extends 0 ? never : T[0]; // S3 type First = T ..

문제 https://github.com/type-challenges/type-challenges/blob/main/questions/00011-easy-tuple-to-object/README.ko.md const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const; type result = TupleToObject // expected { tesla: 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'} 풀이 type TupleToObject = { [V in T[number]]: V } How to Solve? T extends readonly any[]: any 타..

지금 TS를 사용하면서 백엔드 프로젝트를 진행하고 있는데 TS에 대해 겉핥기 식으로만 알면서 프로젝트를 하다 보니까 잘 사용하지 못하는 것 같다고 판단이 되었다. NestJS 오픈카톡방 커뮤니티에서 공유받아서.. 오늘부터 Type Challenge 라는 GitHub Repository에 들어가서 하루 또는 2일에 2문제씩 문제를 조금이나마 풀어보려고 한다. 문제 - https://github.com/type-challenges/type-challenges/blob/main/questions/00004-easy-pick/README.md 풀이 /** * (1) K는 T의 Key-Properties 이다 ==> MyPick * (2) K를 순회한다 ==> [B in K] (B는 K를 순회하면서 저장하는 변수..

코드를 작성하다가 빈 객체의 타입에 대해서 갑자기 궁금해지기 시작했다. 빈 객체에는 어떤 타입을 사용해야 할지 알아보자. 1. {} (빈 객체)의 의미 타입스크립트에서 빈 객체({})는 "any non-nullish value"를 의미한다. 다시 말해 null을 제외한 모든 값들을 허용한다는 의미이다. 실제로 다음과 같이 코드를 작성하면 에러가 나지 않는다. type EmptyObject = {}; const temp1: EmptyObject = 'hello world!'; const temp2: EmptyObject = 1111; undefined 값을 넣으면 에러는 발생한다. 프로젝트 코드를 작성하면서 이 부분을 의외로 많이 실수해서 정리하게 되었다.. 2. 어떻게 사용할 것인지? (1) 아무것도 ..
이제 express가 아니라 NestJS를 하면서 자연스럽게 TS와 친해지려고 노력하고 있다. 최근에 Nest로 프로젝트를 하면서 tsconfig.json 파일을 만질 때가 있었는데, 정확히 이 파일이 어떤 역할을 하는지 모르고 사용을 했던 것 같다. 그리고 프로젝트를 하는 도중에 내가 작성한 소스를 한번 쭉 그냥 보고 있었는데 최대한 any 타입을 지양하고 각종 메서드나 변수 등에 타입을 꼭 달아주었다. 그런데도 몇 군데 빼먹은 곳이 있었는데 생각해보니까 얼핏 이런걸 에러로 보여주는 기능이 있는데? 라고 알고 있었는데 적용이 안되어서 내가 실수한 부분이 몇 군데 있구나 싶었다. 보니까 strict 모드가 활성화 되어있지 않은 것. 그래서 이번 포스팅에서는 strict mode를 어떻게 활성화 했는지 (..