【es6】es5中的类和 es6 中的类 class 有什么区别

news/2024/7/10 23:52:12 标签: es6, 前端, javascript

es5 中类的本质

  1. 实际上是通过构造函数和原型链来模拟类的概念
  2. es5 没有 class 关键字
  3. 定义一个 function 
  4. 再 function 的 prototype 上增加各种方法
  5. 使用 new 关键字创建实例,被 new 关键字调用的函数,就是构造函数
  6. 由时候被称为 伪类
  7. 这个函数也可以直接调用

es6 中的类

  1. 使用 class 关键字
  2. 由 constructor 构造函数,变量在构造函数中使用 this 指定变量
  3. 用 static 定义静态方法,静态方法的 this 指向类,而不是实例
  4. 使用 extends 进行集成
  5. 子类中使用 super 调用父类的构造函数或方法
  6. 必须使用 new 创建实例,不能直接调用 class
  7. 不支持私有属性/方法,没有 private/public 关键字【ts 中有】
  8. es6 为 new 命令引入了一个 new.target 属性
    1. 返回 new 命令作用于的那个构造函数,如果不是通过 new 调用,或 Reflect.construct() 调用的,new.target 会返回 undefined
    2. Reflect.construct(): 这是一个 ES6 引入的静态方法,用于创建一个由指定构造函数创建的实例。


http://www.niftyadmin.cn/n/5388563.html

相关文章

【Lazy ORM】 小工具 acw 本地客户端 你负责点击页面,他负责输出代码

介绍 wu-smart-acw-client 简称acw-client&#xff0c;是一个基于Lazy ORM定制的客户端代码生成小工具 Lazy ORM 小工具 acw 本地客户端 你负责点击页面&#xff0c;他负责输出代码安装 <dependency><groupId>top.wu2020</groupId><artifactId>wu-sma…

关于数组去重new Set的详细解释

用于保持数组的唯一性 // test1 const arr [1, 1, 2, 3, 4, 3] // 是一个new Set对象 const arr1 new Set(arr) console.log(arr1); // test2 const brr [1, 1, 2, 3, 4, 3] // 现在是数组对象了 const brr1 [...new Set(brr)] console.log(brr1); 总结 使用new Set后获…

git切换仓库地址

已有git仓库&#xff0c;要切换提交的仓库地址&#xff0c;用以下命令 git remote set-url origin 自己的仓库地址 用以下命令&#xff0c;查看当前仓库地址&#xff1a; git remote show origin 切换仓库后&#xff0c;用以下命令初始化提交仓库&#xff1a; git push -u o…

go RPC编程

1、golang中如何实现RPC golang中实现RPC非常简单&#xff0c;官方提供了封装好的库&#xff0c;还有一些第三方的库 golang官方的net/rpc库使用encoding/gob进行编解码&#xff0c;支持tcp和http数据传输方式&#xff0c;由于其他语言不支持gob编解码方式&#xff0c;所以gol…

WMI - 取本地计算机信息

文章目录 WMI - 取本地计算机信息概述笔记测试效果测试工程结构实现main.cppCWmiBase.hCDiskInfo.hCNetworkAdapterInfo.hCWmiBase.cppCDiskInfo.cppCNetworkAdapterInfo.cppEND WMI - 取本地计算机信息 概述 在看windows下取本地计算机特征码的资料. 以前也取过, 都是用WIN3…

ffmpeg的pcm、yuv小知识点

ffmpeg的pcm、yuv小知识点 pcm、yuv保存调用&#xff0c;写个通用工具方法&#xff0c;平时快速保存&#xff0c;和调用方便查看自己bug ffmpeg的AVFrame存储 yuv 调用方法 保存方法 void save_yuv420p_file(unsigned char *y_buf , unsigned char *u_buf,unsigned char *…

进程间传递 SQL 文的方法

SQL 文组成 SQL 文有 2 部分组成&#xff1a; SQL 原型&#xff0c;如&#xff1a;INSERT INTO test1 (id,name) VALUES (?,?)Args &#xff0c;? 号对应的值列表 有时&#xff0c;生成 SQL 文的进程和处理 SQL 文的进程&#xff0c;可能不是同一个 这里就涉及到如何高效…

基于Spring Cloud创建弹性微服务

1 引言 在当今云计算和容器化时代&#xff0c;开发人员越来越需要创建可靠、弹性的应用程序&#xff0c;以应对系统的高度复杂性和需求量。采用微服务架构是一种实现方法&#xff0c;将应用程序结构化为松散耦合的服务集合。微服务架构带来了多种优势&#xff0c;包括可扩展性…