ES6~ES12
文章平均质量分 85
新特性
江一铭
江一铭,字咏之,号逍遥居士。读书人,爱文学,软件工程理工男,IP浙江在职,从业五年。主攻前端方向技术研发,副攻Unity 3D、IOS客户端、Python人工智能等。2021年被评为华为云享专家,阿里云专家博主,前端领域优质创作者等。
展开
-
ES6之Object.assign()用法,Object.assign()到底是浅拷贝还是深拷贝?
基本用法Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。const target = { a: 1 };const source1 = { b: 2 };const source2 = { c: 3 };Object.assign(target, source1, source2);target // {a:1, b:2, c:3}Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。注意,如果目原创 2021-12-10 16:20:52 · 2421 阅读 · 0 评论 -
JavaScript 奇怪又实用的姿势又增加了六个
今天给大家带来一些JavaScript的冷知识,可能你有所耳闻,但也有可能会让你大吃一惊。废话不多说,一起来看看吧!一、解构小技巧平常我们需要用到一个嵌套多层的对象中某些属性,会将其解构出来使用let obj = { part1: { name: '零一', age: 23 }}// 解构const { part1: { name, age } } = obj// 使用console.log(name, age) // 零一 23这种情况下,你把 name 和 age原创 2021-11-15 10:08:26 · 2128 阅读 · 4 评论 -
js数组去重
数组去重 <script> const removeDuplicates = (arr) => [...new Set(arr)]; // Result: [ 1, 2, 3, 4, 5, 6 ] console.log(removeDuplicates([1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 5, 4, 3, 1, 6])); </script>原创 2021-11-12 17:13:06 · 1262 阅读 · 0 评论 -
ECMAScript 2016(ES7) 的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全老样子,先纵览下 ES2016 的新功能,ES2016添加了两个小的特性来说明标准化过程:数组includes()方法,用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。a ** b指数运算符,它与 Math.pow(a, b)相同。Array.prototype.includes()includes() 函数用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否.原创 2021-11-09 19:06:00 · 1223 阅读 · 0 评论 -
ECMAScript 2017(ES8) 的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全老样子,先纵览下 ES2018 的新功能:async/await: 异步终极解决方案Object.values()Object.entries()String padding:String.prototype.padStart、String.prototype.padEnd函数参数列表结尾允许逗号Object.getOwnPropertyDescriptors(): 获取一个对象的所有自身属性的描述符,如果没有任何自.原创 2021-11-09 19:04:23 · 1179 阅读 · 0 评论 -
ECMAScript 2018(ES9) 的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全专栏:ECMAScript 新特性汇总老样子,先纵览下 ES2018 的新功能:异步迭代:await可以和for...of循环一起使用,以串行的方式运行异步操作Promise.finally():逻辑只可以放在一个地方,这有点像以前jQuery ajax的complete Rest/Spread 属性:允许我们将一个剩余参数表示为一个数组正则表达式命名捕获组:允许命名捕获组使用符号?<name>正则表达式.原创 2021-11-09 19:02:51 · 1487 阅读 · 0 评论 -
ECMAScript 2019(ES10) 的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全老规矩,先纵览下 ES2019 的新功能:Array.flat()和Array.flatMap():数组展平String.trimStart()和String.trimEnd():去掉开头结尾空格文本String.prototype.matchAll:为所有匹配的匹配对象返回一个迭代器Symbol.prototype.description:只读属性,回 Symbol 对象的可选描述的字符串 Object.fromE.原创 2021-11-09 18:57:30 · 1188 阅读 · 0 评论 -
ECMAScript 2020(ES11) 的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全老规矩,先纵览下 ES2020 的新功能:动态 import ():按需导入空值合并运算符:表达式在 ?? 的左侧 运算符求值为undefined或null,返回其右侧可选链接:?.用户检测不确定的中间节点BigInt:新基本数据类型,表示任意精度的整数globalThis:浏览器:window、worker:self、node:globalPromise.allSettled:返回一个在所有给定的promise已被.原创 2021-11-09 18:54:32 · 1485 阅读 · 0 评论 -
ECMAScript 2021 (ES12)的新特性总结
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全专栏:ECMAScript 新特性汇总ECMAScript 2021 最终功能集于今年的3 月 9 日确定,2021 年6 月 22 日,第 121 届 Ecma 国际 宣布 ECMAScript 2021(ES12)成为事实的 ECMAScript 标准,并被写入 ECMA-262 第 12 版。先纵览下 ES2021 的新功能,看看现在这些特性在你工作中有没有用到吧:String.prototype.replac.原创 2021-11-09 18:49:05 · 1900 阅读 · 0 评论 -
快来看看ECMAScript 2022(ES13)有哪些新标准?
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全ES2021已经发布一段时间了 ECMAScript2021 (ES12)的新特性,快来复习下!,ES2021的新特性你用起来了没?下面我们来看看ES2022 会带来那些有意思的新特性。本文中将介绍并解释在规范的最新草案中已被接受的提案的特性。每个特性提案都遵循一个过程,在这个过程中,它经历了不同的阶段,直到stage 4,这表明新增功能已准备好包含在正式的 ECMAScript 标准中,并将包含在最快的实用标准修订版原创 2021-11-09 18:45:44 · 1784 阅读 · 0 评论 -
关于ECMA、ECMAScript、TC39、ES、Stage等概念的科普
快速通道:ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全提到ECMA、ECMAScript、TC39、ES ,你可能对这些名词代表的概念一知半解甚至是从未了解过,不过没关系,不了解这些不会影响你对ES新特性的使用。本文只是简单的介绍下这些概念作为一次简单的科普,希望能帮你扩展下知识面。ECMA:欧洲计算机制造协会 ,这是一个国际组织,主要负责维护各种计算机的相关标准。我们都知道JavaScript这门语言最早来自于网景(Netscape),但网景在和微软(IE)的竞争落得.原创 2021-11-08 20:40:44 · 2127 阅读 · 0 评论 -
ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13新特性大全
本文是对 ES6 至 ES13 常用到的特性的总结,关于每个特性的详细内容,都有单独的文章进行详细讲述,可以跳转到具体文章进行学习查看。学习永无止境大家一起努力 。文章为从新到旧的顺序。ECMAScript 2022(ES13)提案阶段,更倾向于面向对象声明类的字段:类字段可以在类的顶层被定义和初始化私有方法&字段:用#前缀来定义类的私有方法和字段类的静态公共方法和字段:增加了静态公共字段、静态私有方法和静态私有字段的特性ECMScript 类静态初始化块:在类声明/定义期间评估静态初始化代.原创 2021-11-08 20:35:36 · 5460 阅读 · 0 评论 -
深入了解Map数据结构
文章目录 什么是MapMap和对象的区别Map实例的属性和方法set()get()has()delete()clear()forEach()size属性 Map构造函数二维数组SetMap Map注意事项Map的应用操作DOM 什么是Map Map和对象类似都是键值对的集合。 Map和对象的区别 对象一般用字符串当键。 Map可以用数字、字符串、布尔值、null、undefined、数组、对象、Set、Map等做...原创 2021-08-20 17:25:32 · 1166 阅读 · 0 评论 -
ES6:【深扒】深入理解 JavaScript 中的异步编程
大家好,我是小江同学,本文将会带你理解和感受 Generator 函数的异步应用 引言 我们先引出一个非常常见的场景:对服务器端返回的数据进行操作 与服务器端交互的过程是一个异步操作 如果按照正常的代码编写的话,你可能会写出这样的代码 我也不知道打的什么,大概意思就是异步请求结果返回赋值给 data 然后输出, let data = ajax("http://127.0.0.1",ab) //随便写的co...转载 2021-08-17 10:54:26 · 981 阅读 · 0 评论 -
ES6:【深扒】 深入理解 JavaScript 中的生成器
???? 大家好,我是小江同学,本文将会带你理解 ES6 中的生成器。 写在前面 在上篇文章中,我们深入了理解了迭代器的原理和作用,这一篇我们来深扒与迭代器息息相关的生成器。 关于生成器有这样的描述 红宝书:生成器是 ES6 新增的一个极为灵活的结构,拥有在一个函数块内暂停和恢复代码执行的能力 阮一峰老师:Generator 函数是 ES6 提供的一种异步编程解决方案 从上面的两段话中,我们可以知道生成器有着至少两...原创 2021-08-17 10:30:36 · 913 阅读 · 0 评论 -
ES6:【深扒】 JavaScript 中的迭代器
???? 大家好,我是小江同学,本文将会带你理解 ES6 中的迭代器。 发现问题 在 ES6 中提出迭代器模式之前,传统迭代存在着怎样的问题?为什么要新增迭代器概念呢? 我们先来看几个例子 let arr = ['小', '丞', '呀'] 这是一个简单的数组,如果要获取它的每一项数据,我们可以采用 for 循环,当然也可以采用 forEach 循环,这样很酷 关于 forEach 循环在之前的文章有解释,原文连接 ...原创 2021-08-15 01:07:35 · 1237 阅读 · 1 评论 -
Webpack搭建ES6开发环境(部分摘自网络)
首先要有node环境,进入Node.js的官网,选择对应系统下载安装包。安装node后集成了npm管理器设置默认npm使用淘宝镜像npm config set registry https://registry.npm.taobao.org安装cnpm包,安装成功后npm命令更换为cnpm命令npm install -g cnpm --registry=https://registry.npm.taobao.org## 安装成功之后,直接像使用npm一样使用cnpm即可,例如:安装某个包原创 2020-06-02 19:13:13 · 523 阅读 · 0 评论 -
export,import,export default的用法和区别
ES6模块主要有两个功能:export和importexport:用于对外输出本模块(一个文件可以理解为一个模块)变量的接口import:用于在一个模块中加载另一个含有export接口的模块。在Javascript ES6中,export与export default均可用于导出常量、函数、文件、模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用,但在一个文件或模块中,export、import可以有多个,export d原创 2020-06-29 19:53:14 · 666 阅读 · 0 评论