使用类与传统函数的区别
如果声明为一个类 在变量赋值的时候 该变量没有this this没有发生自动包装 所以在直接调用speak 和 eat的时候回出现返回undefined这种情况(无论是严格模式 还是 非严格模式)

但是 当我们基于函数类传统的这种方法来写代码 那么基于该函数this指针会自动装箱 就可以被调用到

与原来的原型链继承不一样 子类Dog可以直接使用extends 关键字来继承Animal 并且会自动的调用父类的constructor

也可以扩展传统的基于函数的“类”: Animal原型中的函数需要使用super关键字来调用

请注意,类不能继承常规(非可构造)对象。如果要继承常规对象,可以改用Object.setPrototypeOf():

原文地址
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Classes
本文探讨了JavaScript中类与传统函数的区别,包括变量赋值、this指针的行为、继承方式等,并介绍了如何通过extends关键字实现类继承及super关键字的用法。
347

被折叠的 条评论
为什么被折叠?



