我来自java背景。我以下列方式在java中使用Generics:
class ApiResponse<T> {
T data;
T getData(){
return T;
}
}
我无法在javascript ES06中使用泛型。我想知道是否可以创建泛型类?
答案 0 :(得分:2)
JavaScript是一种动态类型语言,它没有任何泛型。你可以编写一个普通的函数/方法,它适用于所有类型。
P.S。如果想要像在Java中一样编写代码,请使用Typescript。
答案 1 :(得分:1)
埃隆·马斯克(Elon Musk),您觉得如何?纯js,没有typeflow / typescript
class BaseClass {
hello = function () {
console.log('hello!');
}
}
function GenericClass(T, Base) {
return class extends Base {
field = new T();
}
}
class DerivedFromGeneric extends GenericClass(String, BaseClass) {
greet = function() {
this.hello();
console.log('greetings ', this.field);
}
}
let i = new DerivedFromGeneric();
答案 2 :(得分:0)
Javascript没有严格的输入,因此不需要Generics,因为所有变量都可以随时分配给任何类型。
答案 3 :(得分:0)
您可以将Typescript用于此目的。
答案 4 :(得分:0)
Javascript本身并不提供支持泛型类的任何语法。但是可以使用:
流量
或
打字稿
让我举一个在javascript ES06中使用Flow的泛型类的例子:
export class ApiResponse<T> {
data: ?T = null
}