Tra*_*ace 4 javascript ecmascript-6
我正在研究ES6,因为它在编写reactJS应用程序时似乎得到了提升.我对构造函数的工作方式感到有些惊讶:
class Human{
constructor(name){
this.name = name;
}
toString(){
return "Name = " + this.name;
}
}
class Person extends Human{}
var person = new Person("kim");
Run Code Online (Sandbox Code Playgroud)
使用基于类的系统在JS中编写前端应用程序时,以下其中一项可能会使我的应用程序变得脆弱:
可选问题:
我遇到的第二个问题是,如今将ES6用于大型生产应用程序的决策有多聪明,以及现在只使用ES6进行实验是否有用.我不确定是否错误地认为JS正在倾向于像Java一样完全成熟的基于类的系统,并且事情可能会比我的代码库能够消化更快(渐进).
参数化构造函数是隐式继承的 - 这总体上是一个好主意,它会保持这样的机会是什么?
是的,它会保持这样.如果您没有提供构造函数,则默认情况下使用所有参数调用父构造函数.
这是一个好主意,因为class你必须super()在构造函数中调用(这至少对于继承构建是必要的,并且无论如何都是一种好的做法).如果没有默认构造函数,则必须自己明确地提供它,这会导致样板代码的增加(并且class关键字的目标是避免这种情况).
在同一个类中重载构造函数的残障; 基于参数类型的过载残疾
当然,在JS中,你不能有一个类的多个构造函数,但你仍然可以重载它,包括传递的参数数量和它们的类型.
ES6生产准备好了吗?
是.该标准被采用,没有更多的实验.Transpilers确实支持所有主要的有用语法功能.
我不确定是否认为JS倾向于像Java一样完整的基于类的系统是错误的
是的,这是错位的.JS没有类似Java的类系统,也几乎没有.另请参阅JavaScript是否会成为一种"适当的"基于类的语言?.
| 归档时间: |
|
| 查看次数: |
1270 次 |
| 最近记录: |