在 Vue.js 源代碼 ( packages/reactivity/src/effects.ts) 中,我發現了這一點:
export interface ReactiveEffectRunner<T = any> {
(): T
effect: ReactiveEffect
}
代碼中的含義是什么()?
uj5u.com熱心網友回復:
當您想定義具有其他屬性的函式時,您可以使用此模式。
()表示實作此介面的物件將是一個可以呼叫且不需要任何引數的函式。
effect意味著它具有另一個稱為效果的屬性。
檔案中的一個示例:
type DescribableFunction = {
description: string;
(someArg: number): boolean;
};
function doSomething(fn: DescribableFunction) {
console.log(fn.description " returned " fn(6));
}
閱讀有關呼叫簽名的資訊
uj5u.com熱心網友回復:
這意味著該型別可以作為函式執行。
例如:
declare const fn: ReactiveEffectRunner<{ abc: number }>
const result = fn() // { abc: number }
fn.effect // ReactiveEffect
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/473406.html
標籤:javascript 打字稿 Vue.js Vuejs2
下一篇:如何獲取過濾后的陣列項的索引
