类其实就是构造函数的语法糖,简化了以前复杂的声明构造函数和继承的方式,让我们更优雅的书写代码,下面让我们来学习

类的声明

  1. class SupClass{
  2. //相当于function SuperClass(){}
  3. constructor(name){
  4. this.name = name
  5. }
  6. //相当于SuperClass.prototype.show = function(){}
  7. show(){
  8. console.log("superclass:show")
  9. }
  10. }
  11. let hd = new SupClass("jack")
  12. hd.show()
  13. console.log(hd.name)

类和自定义构造函数之间的区别

  • 函数声明可以被提升,而类声明与let、const一样不能被提升
  • 类声明中的代码都是运行在严格模式下的,而且无法脱离严格模式
  • 在类中,所有的方法都是不可枚举,
  • 使用出new以外的方式调用类会抛出错误
  • 在类中修改类名会抛出错误

    静态属性和静态方法