有什么可以用经典/旧的原型方法实现的吗?
为什么需要这个:假设我正在编写一个JS子集,其中没有旧内容(原型代替类,var等)
答案 0 :(得分:2)
有几件事,包括但不限于:
使用function
表示法时,可以不使用new
来调用构造函数。 class
表示法禁止这样做。
作为旁注:在子类化中通常使用MyParentClass.call(this)
之类的东西(当MyParentClass
用class
定义时是不允许的),您现在可以将class
语法和extends
和super
关键字。
function
声明可以在使用后出现,因为它们已吊起,class
声明则没有。function
声明可以被新的声明覆盖,class
声明不能重新定义早期的声明class
语法定义时。function
声明可以在“草率”模式(不是严格的)下进行,而class
方法始终在严格的模式下运行。因此,您不能使用caller
表示法的方法/构造函数的callee
,arguments
或class
属性。严格模式的所有其他后果当然也适用。将其全部列出在这里太过分了。prototype
属性(可写)。使用class
的{{1}}属性是不可写的(请注意,这并不意味着您不能对其进行 muting 更改)。