簡體   English   中英

如何用TypeScript表示mixin

[英]How to represent mixins with TypeScript

我正在編寫一個自定義的mixin例程,它接受對象的變量:

type HasIndex = {[key:string]:any};

// type RetType = ?

const mixinAll = (...v: HasIndex[]): RetType => {
   return v.reduce((a,b) => doMixing(a,b,new Set()), {});
});

所以我的問題是-如何代表mixinAll的返回值? 有沒有辦法用TypeScript表示混合類型? 與對Object.assign進行相同的操作非常相似。

如果看一下Object.assign的定義,那幾乎可以回答這個問題:

interface ObjectConstructor {
 assign<T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
}

簡而言之,請使用&運算符創建交集類型-不幸的是,似乎無法創建比該類型更細的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM