今天我看到了一个新的语法JS类可以分配它们的属性,如:
// Syntax 1
class foo {
constructor(prop){
this.prop = prop;
}
}
// Syntax 2
class bar {
prop = 5;
}
let testBar = new foo(5);
let testFoo = new bar();
console.log(testBar.prop);
console.log(testFoo.prop);
除了第二种语法不是动态的(第五种语言现在是硬编码的)之外,第一种和第二种语法之间是否存在差异?第二种语法是在第一种语法下转换的,还是它们具有不同的特征?
此主题的一个很好的来源将不胜感激,因为我找不到关于这个特定主题的任何内容。
答案 0 :(得分:2)
第二个还没有有效的ES,但是有一个提案可以在将来使用。如果你今天使用像Babel这样的转换器,那么第二个将被转换为第一个,所以是的,它们是相同的。