【发布时间】:2018-10-22 08:48:20
【问题描述】:
我正在创建一个普通的 ES6 类。遇到的问题是将变量放在class 封装内,同时将其保留在constructor(). 之外
您可以在使用此代码时复制此错误:
class Polygon {
constructor() {
this.name = "Polygon";
var goodboy = "I like pie...I can stay since I'm legal!";
}
var badboy = "what're you gonna do when they come for you? delete me to get rid of all your problems!";
}
var poly1 = new Polygon();
console.log(poly1.name);
您可以在任何地方尝试此代码!尝试删除badboy 和goodboy,看看效果如何。
我该如何解决这个问题?
欢迎任何解释, 法鲁克
上述代码是从 MDN 修改的。此代码无意,仅用于变量声明示例目的。
【问题讨论】:
-
你想做什么?没有诸如“
classencapsulation”之类的东西,您可以在其中放置任意语句。它不是一个块,它是一个class主体,并且只能包含方法定义。 -
输入TypeScript引起的混乱(让JS看起来像Java)。
-
您尝试做的事情在 Javascript 中还没有真正存在,但它看起来正在路上 -> github.com/tc39/proposal-class-fields
标签: javascript class ecmascript-6