TypeScript(18)
-
TypeScript에서 json 파일 가져오기
TypeScrip에서 json파일을 불러오는 중에 에러가 발생했다. Cannot find module '../mock-data.json'. Consider using '--resolveJsonModule' to import module with '.json' extension. json파일을 찾지를 못하는데 이 때 tsconfig에서 resolveJsonModule 설정을 넣어주면 해결이 된다. 또 한 json파일을 import 할 때는 import * as data from '../data' 로 불러와야하는데 이 때 esModuleInterop 옵션 true로 넣어주어 깔끔하게 import data from '../data' 로 변경이 가능하다. tsconfig.json "resolveJsonModul..
2022.05.11 -
TypeScript에서 Sequlize 설정 시 dialect 타입 설정
Sequlize를 TypeScript로 설정 시 에러가 발생 하여 확인 해보니 Sequlize측에서 Type을 아예 지정 해주었다. import { Dialect, Sequelize } from 'sequelize' const dialect: Dialect = 'mysql' 사용시 Dialect를 import하여 다른 타입 넣지 말고 d.ts를 확인 하고 사용하자
2022.03.06 -
TypeScript - namespace
namespace 사용 이유 : 객체와 관련 타입이 늘어나면 같은 이름의 인터페이스나, 클래스 명이 충돌이 일어날때 namespace를 이용해 관련 인터페이스, 클래스를 묶어서 충돌을 방지 한다. ex) 사용예시 1. 한 파일에 namespace를 모아서 작성 할 때 namespace TotalInterface { export interface IA { A : true } export interface IB { B : false } export interface IC { C : true } } 사용 방법 const Cresult:TotalInterface.IC = { C:true } 2. 여러 파일에서 같은 namespace를 작성 할 때 A.ts namespace TotalInterface { expo..
2022.03.05 -
TypeScript - Partial 유틸리티
사용 이유 : 타입을 설정 할 때 interface에 일부만 사용이 가능하다. 사용 방법 : Partial ex) 인터페이스 구성 예시 interface IA { A : true B : false C : true } ex) Partial 사용 예시 const a: IA = { A : true, B : false, C : true, } const b: Partial = { B : false, C : true, }
2022.03.05 -
TypeScript - intersection
여러개의 인터페이스를 만족해야 한다. 사용이유 : 중복를 막고 각각의 인터페이스 재사용을 하기 위해 사용 방법 : 타입 설정에 포함해야하는 인터페이스들 을 &를 사용해서 묶는다 ex) 인터페이스 예시 interface IA { A : true } interface IB { B : false } interface IC { C : true } ex) 사용 예시 const result: IA & IB & IC = { A:true, B:false, C:true }
2022.03.05 -
TypeScript - TS 인터페이스(2) 사용방법
1. 같은 이름의 Interface일 때 내용이 합쳐진다. 사용이유 : 다른 라이브러리의 .d.ts 파일에 타입 값을 추가시키기 편리하다 interface Test { a:0 } interface Test { b:'hi' } ====> interface Test { a:0 b:'hi' } 2. key of 인터페이스 명 사용이유 : 타입을 정해 줄 때 중복 값을 줄일 수 있다. (예시 interface Example { a:'hellow' b: 9 } 인자 값의 타입을 설정 할 때 Example의 key (a, b) 값을 사용하려면 keyof Example Example의 value ('hellow', 9) 값을 사용하려면 Example[keyof Example] 3. as 인터페이스명 사용이유 : 타입..
2022.02.14