簡體   English   中英

TypeScript:定義一個沒有 CallableFunction 屬性的可調用類型

[英]TypeScript: Define a callable type without CallableFunction properties

讓我們聲明一個具有調用簽名的類型T

type T = () => number;

讓我們也聲明一個這種類型的變量t

declare const t: T;

在 TypeScript Playground 或 IDE 中,我們立即看到tT類型,它有很多我們從未明確聲明的方法和屬性: applybindcaller等等。

我們如何聲明T使其僅由其調用簽名定義? (TS 3.8.3+)

值得注意的是,類型Omit<T, "apply" | "bind" | "caller"> Omit<T, "apply" | "bind" | "caller"> Omit<T, "apply" | "bind" | "caller">{}Omit<T, ""> 此外,根據tscOmit<CallableFunction, "">不是可調用類型。

對於核心類型(字符串、數字和 yes 函數),您不能從類型聲明中做到這一點。

創建自己的環境

與編譯--noLib ,包括您自己的定義someFile.d.tsinterface Stringinterface Function等。

定義仍將全局應用於所有string / number / Function等。例如,如果您不包含.bind ,則任何函數都不會出現它。

暫無
暫無

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

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