小编M. *_*lls的帖子

ES7类:在构造函数之外声明属性

在构造函数和外部声明变量之间有什么区别吗?

对于函数,'this'的约束方式不同,但对于变量,我无法弄清楚是否存在差异.

class Widget {
    constructor(constructorName) {
    this.constructorName = constructorName;
  }
  nonConstructorName = "nonConstructorName1";
}



var myWidget = new Widget("myConstructorName1");

console.log(myWidget.constructorName); // "myConstructorName1"
console.log(myWidget.nonConstructorName); // "nonConstructorName1"

myWidget.constructorName = "myConstructorName2";
myWidget.nonConstructorName = "nonConstructorName2";

console.log(myWidget.constructorName); // "myConstructorName2"
console.log(myWidget.nonConstructorName); // "nonConstructorName2"

console.log(myWidget.prototype.constructorName); // "undefined"
console.log(myWidget.prototype.nonConstructorName); // "undefined"

console.log(myWidget.__proto__.constructorName); // "undefined"
console.log(myWidget.__proto__.nonConstructorName); // "undefined"

var myNewWidget = new Widget("myConstructorName3");

console.log(myNewWidget.nonConstructorName); // "nonConstructorName1"
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-7

10
推荐指数
1
解决办法
5134
查看次数

标签 统计

ecmascript-7 ×1

javascript ×1