• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小许学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅
【函数】class 基本语法

目录:

1、Class 简介

2、Class 特性

3、Class 表达式

4、Class Static 静态方法

5、new.target

 

Class 简介

   ES6 的 Class 写法只是弱化了 ES5 中构造函数的写法,变得更像强类型语言的写法。这可以理解为是语法糖。下面对比 ES5 与 ES6,两段代码实现的功能是相同的。

 

 

Class特性

共性

1. 实例化时,ES5 跟 ES6 都用到 new。

  ES6 实例化没有用到 new 的话会报错。

  ES5 实例化不用 new 也可以,不会报错。

 2. 同于构造函数

 

差异

1. ES6 的方法是不支持枚举的

 

 2.在 Class 中所有的写法都要遵循严格模式,跟模块十分相似,都是需要用严格模式来做。

 

Class 表达式

1. Class内部定义

 说明:inside 只能在内部被引用,如果在外部被引用会报错。

 

2. 立即执行

 

 3. 二次声明

在ES5中二次声明不会报错,在ES6中二次声明会报错

 

4. ES6 不支持变量提升

 

Class Static 静态方法

在class里面添加静态方法,实例无法调用static

 

static this 指向类

类的继承包含 static,如果在子类中找不到方法,会往超类中找。

 

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

 

new.target

ES5 中的 new.target

 

 Class 中的 new.target,子类中的 new.target 指向子类,不指向父类

 

  

 

 

 

 

 

 

 

 

posted on 2020-05-31 21:07  xiaoxustudy  阅读(1480)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3