TypeScript

TypeScript

[typescript] 나는 제네릭을 아는가?

문제 묵혀둔 Next.js 게시판 프로젝트를 고치면서 첫 todo는 바로 any 타입 고치기였다. 온갖 구글링을 통해 제공되는 타입 설정 까지는 어떻게든 해냈는데 도저히 무엇이 문제인지 모르겠는 타입 설정이 하나 있었다. 해당 에러 메세지는 변수 posts가 타입 WithId []가 타입 Post []에 할당될 수 없다고 뜬다. 그러니까 await db~ 로 출력된 결괏값이 WithId [] 타입이고 그 값을 할당하려는 변수 타입을 Post []로 설정해 주어 생긴 타입호환성 오류였다. 해결 그렇다면 출력된 결과 값을 Post로 설정해 주면 해결되는데 제네릭에 대한 이해가 부족했던 나는 한참을 헤맸다. 제네릭은 타입을 마치 함수의 파라미터 처럼 사용하는것을 의미한다. MongoDB에서 'post'로 정의..

TypeScript

type alias, interface

요약 Type Alias는 모든 타입을 선언할 때 사용할 수 있고 Interface는 객체에 대한 타입을 선언할 때 사용될 수 있다. 차이점은 확장 가능 여부이며 확장 불가능한 타입 선언시 Type Alias를 확장 가능한 타입 선언시 Interface를 사용한다. 설명 사실 제일 최근 프로젝트를 하면서 type alias는 모든 타입을 선언할 때 사용할 수 있어서 거의 모든 객체 데이터 타입을 type alias로 설정해주었습니다. //interface interface Person { name: string, age?: number } const person = {} as Person; person.name = 'Kim'; person.age = 25; person.address = 'Seoul'; ..

TypeScript

[TypeScript] Enum, Interface, 타입별칭, 타입추론

열거형(Enum) : 특정 값들의 집합 ✔️ 숫자형 이넘 디폴드 값으로 숫자형을 사용하며 아래와 같이 선언한다. enum Computer { Monitor = 3, Mouse = 7, Keyboard = 1, Speaker = 5, } 초기 값을 주면 차례로 1씩 증가한다. Monitor - 1 Mouse - 2 Keyboard - 3 Speaker - 4 초기 값을 주지 않으면 0부터 차례로 1씩 증가한다. Monitor - 0 Mouse - 1 Keyboard - 2 Speaker - 3 이넘 값에 대해 산술 연산을 수행할 수도 있다. enum Computer { Monitor = 3, Mouse = 7, Keyboard = 1, Speaker = 5, } let a: Computer = Comput..

TypeScript

[TypeScript] 프로젝트 환경설정과 문법

TypeScript 프로젝트 환경 설정 1. 프로젝트 폴더 생성 mkdir (폴더명) cd (폴더명) 2. 프로젝트 초기화 npm init -y 3. 타입스크립트 설치 npm install typescript --save-dev 4. 루트 디렉토리에 tsconfig.json 파일 생성 후 아래 코드작성 { "compilerOptions": { //컴파일러옵션설정 "target": "es6", "module": "commonjs", "sourceMap": true, "outDir": "./dist" }, "include": [ //TypeScript 파일 경로 src외에서 파일생성시 오류난다 "src/**/*" ] } 5. src 폴더에 index.ts 파일 만들어 TypeScript 코드 작성해보기 기본..

Summer.dev
'TypeScript' 카테고리의 글 목록