[英]How to make a type for arguments accepted by the method in Typescript
我有一個方法,其結構如下所示。
const a = function (...args: any[]) {
console.log(args);
}
正如您在 function 的結構中看到的那樣, args
的類型是any[]
,我想為該方法接受的參數數組創建一個特定類型。 如何使 Typescript 中的方法接受 arguments 的特定類型? 注意:function a
可以接受任何類型的參數,例如a(1, 2, 4, 5, 'asgasg', 124.52, { name: 'sparsh' });
我想為 Typescript 中的方法接受的 arguments 創建一個特定類型。
您可以創建自定義類型:
type x = string | number
在適合您的示例的情況下:
type User = {
name: string;
}
type x = string | number | User;
function a(...args: x[]){}
可以使用unknown[]
代替any[]
,它允許任何屬性訪問,包括可能無效的屬性。
使用unknown[]
將允許傳遞任何類型的 arguments,但不會禁用屬性訪問等的類型檢查。例如:
const a = function (...args: unknown[]) {
console.log(args);
// console.log(args[0].toString); //disallowed by type checking
if(typeof args[0] === 'number') console.log(args[0].toFixed()) //allowed
}
a(2,3,4,5,6,7,"asds"); //ok
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.