[英]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.