반응형
나중에 사용할 수 있도록 TypeScript 개체 구조 정의
TypeScript에서 매개 변수 유형으로 사용할 수 있는 개체 구조를 정의할 수 있습니까?
내 말은:
다음과 같이 동일한 객체 구조를 반환하는 함수가 5개 있다고 가정합니다.
foo(): { bar: string, baz: boolean, idk: number } { ... }
bar(): { bar: string, baz: boolean, idk: number } { ... }
...
문제는 이와 같은 객체를 반환하는 모든 함수에서 이 구조를 정의해야 한다는 것입니다.
그래서 다음과 같은 것이 가능합니까?
declare const OBJECT_STRUCTURE: { bar: string, baz: boolean, idk: number }
foo(): OBJECT_STRUCTURE { ... }
bar(): OBJECT_STRUCTURE { ... }
...
인터페이스를 사용할 수 있습니다.
interface MyType {
bar: string;
baz: boolean;
idk: number;
}
function foo(): MyType {
return {
bar: "bar",
baz: true,
idk: 4
};
}
또는 유형 별칭:
type MyType = {
bar: string;
baz: boolean;
idk: number;
}
function foo(): MyType {
return {
bar: "bar",
baz: true,
idk: 4
};
}
그래서 다음과 같은 것을 하는 것이 가능합니까?
간단한type
선언:
type OBJECT_STRUCTURE = { bar: string, baz: boolean, idk: number }
더 보기: https://basarat.gitbooks.io/typescript/content/docs/types/type-system.html
TS에 대한 진정한 네이티브 솔루션은 - 선언 인터페이스입니다.
export interface IMyObject {
bar: string;
baz: boolean;
idk: number;
}
그리고 그것은 다시 선언하지 않고 어디서나 쉽게 재사용될 수 있습니다.
foo(): IMyObject { ... }
bar(): IMyObject { ... }
또는
other(obj: IMyObject) { ... }
언급URL : https://stackoverflow.com/questions/38990762/typescript-define-object-structure-for-later-use
반응형
'programing' 카테고리의 다른 글
IntegrinentAttributes & IntegrinentClassAttributesReact.js 유형에는 할당할 수 없습니다. (0) | 2023.06.17 |
---|---|
Python 요청 및 영구 세션 (0) | 2023.06.17 |
Vuex 저장소로 UI 요소 바인딩 (0) | 2023.06.17 |
R 도움말 페이지에서 "실행되지 않음"은 무엇을 의미합니까? (0) | 2023.06.17 |
단독 데이터 분석가를 위한 Rand 버전 제어 (0) | 2023.06.17 |