
ES6+
文章平均质量分 81
ES6+
花铛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《十九》ES6+ 中新增的类
ES12 中新增了 FinalizationRegistry 类,可以用来监听一个对象是否被垃圾回收器回收。通过创建一个 FinalizationRegistry 实例,可以传入一个回调函数作为参数,当某一个对象被回收时,传入的回调函数会被自动执行。通过来注册对象,可以注册多个对象。第一个参数就是要注册的对象;第二个参数可以在传入的回调函数中接收到,以此来区分被回收的是哪一个对象。原创 2023-03-31 17:20:07 · 727 阅读 · 0 评论 -
《一》ES6+ 中的新术语解析
ECMAScript(简称:ES)是 JavaScript 脚本语言的一种规范。JavaScript 是 ECMAScript 的一种实现。ES6 也可以称为 ES2015,是指 2015 年发布的正式版本的语言标准。ES7 也可以称为 ES2016,是指 2016 年发布的正式版本的语言标准。以此类推。在 ES6+ 中,对一些术语进行了新的描述。目前浏览器对 ES6+ 的支持度不好,可以使用转译工具,比如 Babel,将 ES6 +最终编译为浏览器可识别的 ES5。原创 2023-03-24 16:24:59 · 196 阅读 · 0 评论 -
《二》ES6+ 中的 let 和 const
ES5 中只有两种声明变量的方法:var 命令和 function 命令。ES6 中有六种声明变量的方法:除了 var 命令和 function 命令,还有 let 命令、const 命令、class 命令和 import 命令。原创 2020-06-05 15:38:10 · 326 阅读 · 1 评论 -
《十三》ES6+ 中的 Reflect
Reflect 反射是 ES6 新增的一个内置对象,提供了很多方法用来操作 JS 对象。也就是说,可以用 Reflect 来代替 Object 统一操作 JS 对象。Reflect 与 Math 对象类似,所有的属性和方法都是静态的,不是一个构造函数,不能对其进行调用。原创 2020-06-10 11:16:44 · 327 阅读 · 0 评论 -
《十二》ES6+ 中的 Proxy
ES6 中新增了一个 Proxy 类,Proxy 的原意是代理,用在这里表示由它来代理某些操作,可以译为代理器。可以理解成,在目标对象之前架设一层拦截,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。通过也可以实现监听对象属性的操作。但是是存在弊端的:首先,设计的初衷并不是为了去监听一个完整对象中所有的属性;其次,如果想监听更加丰富的操作,比如新增属性、删除属性、是否存在属性等,是无法做到的。Vue2 就是通过。原创 2020-06-09 11:47:45 · 381 阅读 · 0 评论 -
《十一》ES6+ 中的 Set 和 Map 数据结构
ES6 新增了一种数据结构 Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。可以利用 Set 的这个特性为数组去重。原创 2020-06-08 10:51:01 · 253 阅读 · 0 评论 -
《十》ES6+ 中的 Symbol
ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。Symbol 是 JavaScript 语言的第七种数据类型,前六种是:String、Number、Boolean、Null、Undefined、Object。原创 2020-06-05 15:38:44 · 215 阅读 · 0 评论 -
《三》ES6+ 中的解构赋值、展开运算符、逻辑赋值运算符
解构赋值是对赋值运算符的一种扩展。ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。原创 2020-06-03 16:44:17 · 439 阅读 · 1 评论 -
《九》ES6 中正则的扩展
在 ES5 中,RegExp 构造函数的参数有两种情况:第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符;第二种情况是,参数是一个正则表达式,此时不允许使用第二个参数添加修饰符,否则会报错。ES6 改变了这种行为,如果 RegExp 构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符,而且返回的正则表达式会忽略原有正则表达式的修饰符,只使用新指定的修饰符。原创 2020-06-01 09:59:57 · 221 阅读 · 0 评论 -
《五》ES6+ 中数值的扩展
ES6 提供了二进制和八进制数值的新写法,分别用前缀0b/0B和0o/0O表示。如果要将0b和0o前缀的字符串数值转为十进制,可以使用Number()方法。原创 2020-06-01 09:58:29 · 194 阅读 · 1 评论 -
《四》ES6+ 中字符串的扩展
ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历。原创 2020-06-01 09:57:09 · 235 阅读 · 0 评论 -
《七》ES6+ 中对象的扩展
在之前,如果想要获取 JS 环境的全局对象,在不同的环境中获取的方式是不一样的。在浏览器中可以通过 this、window 来获取,在 Node 中需要通过 global 来获取。在 ES11 中对获取全局对象进行了统一的规范,通过 globalThis 对象即可。原创 2020-05-29 10:21:44 · 349 阅读 · 0 评论 -
《六》ES6+ 中数组的扩展
第一个参数是一个遍历函数,遍历函数可以接受三个参数,分别是当前数组成员、当前数组成员的位置、原数组;它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为 true 的成员,然后返回该成员。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为 -4,但数组长度为 3),则会重置为 0 开始。方法类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,而不是深拷贝之后的对象。原创 2020-05-28 12:00:57 · 251 阅读 · 0 评论 -
《十七》ES6+ 中的 async 函数
ES8 引入了 async 异步函数,它是 Generator 生成器函数的语法糖。async 异步函数内部代码的默认执行过程和普通函数是一样的。默认情况下也是同步执行。原创 2020-05-21 15:10:13 · 974 阅读 · 0 评论 -
《十六》ES6+ 中的 Generator
Generator 生成器是 ES6 中新增的一种函数控制、使用的方案,可以让开发人员更加灵活地控制函数什么时候暂停执行、什么时候继续执行等。在此之前,函数的终止条件通常是返回值或者抛出异常。function*ES6 没有规定,function 与函数名之间的星号,写在哪个位置。下面的写法都能通过,但一般是第三种。生成器对象是内部实现的特殊的迭代器对象。next()原创 2020-05-09 10:24:45 · 303 阅读 · 0 评论 -
《八》ES6+ 中函数的扩展
ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。ES6 允许为函数的参数设置默认值,直接写在参数定义后面。只有不传参数或者传入的参数明确是 undefined,默认值才会生效。默认参数不会被计算在 length 中,并且它后面的所有参数也都不会被计算在 length 中。所以,最好将默认参数放在参数的最后。原创 2020-04-27 08:59:29 · 258 阅读 · 1 评论 -
《二十》ES6+ 中的 Module
在 ES6 之前,为了让 JavaScript 支持模块化,社区涌现出了很多不同的模块化规范:AMD、CommonJS、CMD 等。但是目前,AMD 和 CMD 已经很少使用了。直到 ES6,ECMAScript 官方才推出了 JavaScript 的模块化方案 ES Module。ES Module 中使用 export 将当前模块的内容导出,使用 import 将其他模块的内容导入。ES Module 自动采用严格模式。原创 2020-04-23 15:42:19 · 3229 阅读 · 0 评论 -
《十八》E6+ 中的 class 类
ES6 引入了 class 类的概念。通过 class 关键字,可以定义类,类名一般首字母大写。通过 new 命令来实例化类,可以得到实例对象。ES6 中的 class 类本质上只是构造函数、原型链的语法糖。类中默认开启了严格模式。class 类不存在函数提升。语法糖:语法糖的作用其实就是让写的代码更加简单,看起来也更容易理解。类可以看做是实例对象的模板,用一个类可以创建出许多不同的实例对象。例如:人类。实例对象可以看做是类的具象化。例如:某个人。class 类本质上也是函数,因此也有显式原型。原创 2020-02-07 11:15:27 · 262 阅读 · 0 评论 -
《十四》ES6+ 中的 Promise
Promise (承诺)是 ES6 引入的异步操作的一种解决方案。Promise 是一个类,用于封装异步操作并可以获取其成功或失败的结果。用同步的方式去写异步代码,链式调用相比于层层嵌套来说代码变得扁平了,解决了之前回调地狱的问题,但是还是需要维护一条调用链。Promise 解决的不是回调函数的问题,而是层层嵌套的回调函数形成的回调地狱的问题。原创 2020-02-05 16:19:44 · 343 阅读 · 0 评论 -
《十五》ES6+ 中的 Iterator
在 JS 中,Iterator 迭代器其实就是一个可以帮助开发人员遍历某个数据结构的对象。迭代器必须实现一个名为next()的特定方法。原创 2019-03-13 11:25:27 · 465 阅读 · 0 评论