【发布时间】:2023-03-23 13:24:01
【问题描述】:
我有以下代码,按预期工作,但我不相信这是正确的方法:
'use strict';
class Upload {
static uploadCount = 20;
constructor(props) {
Upload.uploadCount++;
}
static get count() {
return this.uploadCount;
}
}
const up1 = new Upload({
name: 'Wow.pdf',
size: 123123,
});
const up2 = new Upload({
name: 'doit.pdf',
size: 9999999,
});
console.log(Upload.count);
为什么constructor 不能像静态getter 那样通过this.uploadCount 引用静态变量?是否有更好/正确的方法来跟踪实例化 Upload 对象的数量?
【问题讨论】:
-
fwiw,铬 52 日志
Uncaught SyntaxError: Unexpected token =,似乎指向static uploadCount = 20;?。见Static methods -
没关系,我使用的是 babel,而不是依赖浏览器来支持 ES6 提案。
-
Nit:不是“ES6 提案”,只是 ECMAScript 的语法提案。
标签: javascript class ecmascript-next es6-class