es6中类的示例

  介绍

这篇文章主要介绍es6中类的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>类类

基本概念,记录以便自己后面加深理解

<>强了解类是什么

类是什么?不妨写一个看看

class  Demo  {   ,,,构造函数(),{   ,,,,,,,this.a =, 1;   ,,,,,,,this.b =, this.f;   ,,,}   ,,,f (), {   ,,,,,,,return ;   ,,,}   }   Demo.prototype;,//{   ,,,,,,,,,,,,,,,//,,构造函数:class 演示   ,,,,,,,,,,,,,,,//,,,?,f (),,,,,,,,,,,   ,,,,,,,,,,,,,,,//,,__proto__:, Object }

演示的原型可以看到这三个属性都是不可遍历的并且与演示类相比就多了一个__proto__原型链。我们再新的一个演示看一下

let  o =, new 演示();   console.log (Object.getPrototypeOf (o));,,//{   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,,构造函数:class 演示   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,,,?,f (),,,,,,,,,,,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,,__proto__:, Object }

实际上演示类相当于演示实例的原型

类中构造函数的

在我看来

,,,,构造函数(),{   ,,,,,,,this.a =, 1;   ,,,,,,,this.b =, this.f;   ,,,}

这部分相当于es5中构造函数的作用,在新的的过程中对这个进行赋值,并返回这也就成了实例对象
因此你在构造函数中返回了一个对象且不等于零那么实例对象就是返回的值,和es5构造函数一样的效果类中

的方法

,,,,f (), {   ,,,,,,,return ;   ,,,}

这个方法最终属于在实例对象的原型链上<强>不可遍历方法强劲,因此也能被实例对象使用

新知识点

类的静态方法

表示该方法不会被实例继承,而是直接通过类来调用

class  Demo  {   ,,,构造函数(),{   ,,,,,,,this.a =,;   ,,,,,,,this.b =, this.f;   ,,,}   ,,,static  g (), {   ,,,,,,,return ;   ,,,}   ,,,static  f (), {   ,,,,,,,return ;   ,,,}   }   let  o =, new 演示(),,//console.log (o.b ());,,,,//not  a 函数//console.log (o.g ());,,,,,//not  a 函数   Demo.g(),===,演示,,,,,,,,,//真正的

静态方法中这指的向类自己,而<代码>。=这>

静态方法可以被子类继承

class  Foo  {   static 才能;classMethod (), {   ,,,return  & # 39;你好# 39;;   ,,}   }      class  Bar  extends  Foo  {   }      Bar.classMethod(),//, & # 39;你好# 39;

静态方法可以从超级对象上调用

class  Foo  {   static 才能;classMethod (), {   ,,,return  & # 39;你好# 39;;   ,,}   }      class  Bar  extends  Foo  {   static 才能;classMethod (), {   ,,,return  super.classMethod(), +, & # 39;,也# 39;;   ,,}   }      Bar.classMethod(),//,,你好,,too"

类内部只有静态方法,没有静态属性

类表达式的立即执行写法

var  o =,, new  class  {   ,,,构造函数(n), {   ,,,,,,,this.a =, n;   ,,,,,,,this.b =, this.f;   ,,,}   ,,,g (), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

es6中类的示例