博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6 class
阅读量:7143 次
发布时间:2019-06-29

本文共 916 字,大约阅读时间需要 3 分钟。

eg: class person { getName(){} }

1. es6的class相当于es5的构造函数。也就是 person.proptotype.constructor === person为true。

2. 类必须用new关键字来调用,否则会报错。

3. class不存在变量声明提升,使用之前必须先定义。

4. es5中的prototype继续在es6的class中存在,在类中定义的方法,都存在与类的prototype对象上。比如上面的getName方法。在类中调用这些方法,就是调用的原型(prototype)上的方法。另外,类中定义的方法都是不可枚举的。

5. 类中的属性名可以使用表达式。eg:  var name = 'tom'; class person{ [name]() {  } };

6. constructor方法是类的默认属性,默认返回实例对象。

7. 实例的属性除非显式定义在其本身(即定义在this对象上),否则都是定义在原型上(即定 义在class上)。

8. 类可以像函数一样使用表达式来定义。eg:  const myClass = class {};

9. 私有属性和私有方法,也就是只能在类内部访问的属性和方法;定义之前加‘#’号。

     eg:   class person { #x = 1;  #getX(){ return #x }  }

10. 静态属性和静态方法,也就是只能被类自己访问,不被实例继承。定义之前加static关键字。

     eg:  class person { static state = {} }   或者  class person {  }  person.state = {};

11. 实例属性和实例方法,也就是可以被实例继承的方法和属性。直接用等号定义。

      eg:    class person {  state = {}  };

12. 在react中,组件中使用getName(){}这种写法表示该属性存在于实例的原型上,而使用getName = () => {} 箭头函数,表示该属性存在于实例本身(this)上.。

13. class内部调用new.target放回当前类。

转载地址:http://ypzgl.baihongyu.com/

你可能感兴趣的文章
typedef关键字
查看>>
EntityType 'UserInfo' has no key defined. Define the key for this EntityType.
查看>>
Merge PDF File using itextsharp library
查看>>
使用微软的TFS云服务
查看>>
[已解]如何设置xib 中 ipad 的开发模式为横屏
查看>>
Repeater控件使用
查看>>
[Android] 华为荣耀2制作fastboot线刷包[海思平台]
查看>>
慢慢 的变老
查看>>
高效能TCP通讯基础组件Beetle.Express
查看>>
MyEclipse内存不足配置
查看>>
四舍五入网络Java保留两位小数
查看>>
MFC 循环界面假死的解决(MFC 按钮终止循环)
查看>>
详细解说九宫图比较常用的多控件布局
查看>>
程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路...
查看>>
C语言中的 (void*)0 与 (void)0
查看>>
DIV固定在页面某个位置,不随鼠标滚动而滚动
查看>>
android 根据SD卡中图片路径读取并显示SD中的图片——源代码
查看>>
浅析Android线程模型一 --- 转
查看>>
Cocos2d-x PluginX (二)增加新的Plugin
查看>>
python-django开发学习笔记四
查看>>