[英]Type guard of function type
我有一個在string
和函數類型之間具有聯合類型的函數。 我該如何寫一個類型防護來縮小到該函數類型? (以下操作無效。)
interface Callback {
(args: any[]): void
}
var fn = function(arg: string | Callback) {
if (typeof arg == 'Callback') {
arg.call([]);
}
}
typeof
永遠不會返回'Callback'
。 在這種情況下,它將執行instanceof Function
檢查:
interface Callback {
(args: any[]): void
}
var fn = function(arg: string | Callback) {
if (arg instanceof Function) {
arg.call([]);
}
};
另外,這也可以:
if (typeof arg === "function") {
arg.call([]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.