Rah*_*ogi 3 javascript ecmascript-6
我来自java背景。我通过以下方式在 java 中使用泛型:
class ApiResponse<T> {
T data;
T getData(){
return T;
}
}
Run Code Online (Sandbox Code Playgroud)
我无法在 javascript ES06 中使用泛型。我想知道是否可以创建泛型类?
JavaScript 是一种动态类型语言,它没有任何泛型。您可以编写一个普通的函数/方法,它适用于所有类型。
PS 如果想像在 Java 中一样进行编码,请使用 Typescript。
你觉得这个怎么样,埃隆·马斯克?纯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();
Run Code Online (Sandbox Code Playgroud)
Javascript 本身不提供任何语法来支持泛型类。但可以使用:
流动
或者
打字稿
让我展示一个在 javascript ES06 中使用 Flow 来使用泛型类的示例:
export class ApiResponse<T> {
data: ?T = null
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13028 次 |
| 最近记录: |