首页 > 其他 > 详细

ES6的 class的基本语法

时间:2019-07-09 19:50:05      阅读:102      评论:0      收藏:0      [点我收藏+]

1.类的由来

  JavaScript 语言中,生成实例对象的传统方法是通过构造函数,但是这种写法跟传统的面向对象语言差异很大,容易让不熟悉这门语言的程序员感到困惑,下面有一个例子

    技术分享图片

 

  ES6提供了更接近传统语言的写法,引入了 class(类)这个概念,作为对象的模板,通过class关键字,可以定义类,这种写法只是让对象原型的写法更加清晰,更像面向对象编程的语法,下边这个例子是上边代码的升级版,用ES6的 class 改写

     技术分享图片

 

    使用的时候,也是直接对类使用 new 命令,跟构造函数的用法完全一致

      技术分享图片

 

   构造函数的 prototype 属性,在 ES6 的“类”上面继续存在,事实上,类的所有方法都定义在类的prototype睡醒上面

   技术分享图片

2.class 定义类的

  (1)在 class 类上添加的属性都是在原型 prototype 上添加的

  (2)new 实例的时候其实就是调用构造函数这个方法

  (3)类的本质其实就是一个函数

  (4)类中的this 指向实例对象

  (5)添加的私有属性都在构造函数中添加

  (6)每个构造方法都会默认返回实例对象this,如果人为改变 return 返回值,返回基本数据类型 字符串、数字、布尔等,不会改变return this 的值;如果返回应引用数据类型 对象 数组,那么return this 就会失效,返回你返回的结果

  (7)静态方法,在方法名前面加上 static关键字

    那么这个方法,就变成了类的私有方法 就得用 类.方法()

     技术分享图片

  (8)extents 继承

    子类继承父类  使用extents 关键字

    代码块里需要使用 super 关键字

      super 既可以充当函数,也可以充当对象

      1)  充当函数时,只能在子类的构造函数中使用,且必须放在第一行调用。指向父类的构造函数,只有super调用之后,子类才可以使用 this 关键字,指向子类的实例对象

      2)充当对象时,放在普通函数中,super 指向父类的原型 prototype

      3)放在静态方法中 super 执行当前父类本身

 

 

  

 

 

  

ES6的 class的基本语法

原文:https://www.cnblogs.com/panghexin/p/11159659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!