假设我有一个这样的类(class)
class Vector {
constructor(x,y) {
this.x = x
this.y = y
}
}
我怎样才能做这样的事情
class Vector {
constructor() {
}
var x;
var y;
}
var v = new Vector()
v.x = 3
v.y = 4
我基本上想在构造函数之外声明我的变量。做了一些研究。没有发现任何内容
最佳答案
我猜你正在谈论属性初始化器
。
如果你稍微修改一下你的代码就可以正常工作:
class Vector {
constructor() {}
x = 1;
y = 2;
}
var v = new Vector();
console.log(v.x, v.y); // 1 2
v.x = 3
v.y = 4
console.log(v.x, v.y); // 3 4
请记住,这目前是 第 2 阶段
proposal ,因此它无法在任何开箱即用的浏览器中运行。
如果您正在使用 babel,您可以使用 transform-class-properties
不过是插件。
如果您不使用 babel,您可以使用一些替代方案 - 它们已在 this question 中讨论过。 .
关于javascript - 类外的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43255860/