假设我想在Typescript中声明一个泛型数组。什么相当于未知的通配符'?'在Java?
这确实可以编译,但似乎有点尴尬MyGeneric<any>[];
我想要一个等同于Java MyGeneric<?>[];
的声明,即单个类型数组,但声明它时该类型是未知的。
干杯。
答案 0 :(得分:2)
我不认为Typescript具有后期绑定泛型类型。
但是如果这个特定代码在函数的上下文中,你可以使用泛型来实现类似的东西。
function example<T>(val:T){
let a : T[]
return [val]
}
let a = example(4)
// number[] :: [4]
let b = example('hello')
// string[] :: ['hello']
以下是一个互动示例:link
请尝试将鼠标悬停在a
或b
上以查看其实际效果。
答案 1 :(得分:0)
假设我想在Typescript中声明一个泛型数组。什么相当于未知的通配符'?'在Java?
拥有字符串数组
var foo:string[];
就TypeScript而言,这与以下内容相同:
var foo:Array<string>;
如果您想要一个任何的数组,那么只需使用any
:
var foo:any[] = ['asdf',123]; // Anything is allowed in this array.