cda*_*win 4 javascript namespaces class ecmascript-6
我正在尝试TEST使用ECMAScript 6 在命名空间内定义一个类.使用"旧"Javascript我这样做了
var TEST=TEST || {};
TEST.Test1 = function() {
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试以下方式
var TEST=TEST || {};
class TEST.Test2 {
}
Run Code Online (Sandbox Code Playgroud)
但我在TEST和Test2之间的点上得到一个错误
Uncaught SyntaxError: Unexpected token
Run Code Online (Sandbox Code Playgroud)
如果不使用转换器而只使用本机浏览器javascript,那么我正在尝试完成的正确方法是什么?
就像函数一样,有类声明和类表达式.您可以使用类表达式,并将结果分配给TEST.Test1:
TEST.Test1 = class { // or `TEST.Test1 = class Test1 {`
};
Run Code Online (Sandbox Code Playgroud)
通常这正是 ES6 模块的用途:
export class Test2 { ... }
...
import * as TEST from './test';
new TEST.Test2(...)
Run Code Online (Sandbox Code Playgroud)
对于具有类定义的单个文件,它可以是
const TEST = window.TEST || {};
{
class Test2 { ... }
...
Object.assign(TEST, { Test2, ... });
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用类表达式(正如已经解释过的另一个答案)。
| 归档时间: |
|
| 查看次数: |
2664 次 |
| 最近记录: |