![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 83
ES6相关知识分享
前端~初学者
一个热爱羽球的前端初学者
展开
-
一文彻底搞懂前端ES6模块化
在以前的JavaScript中是没有模块化概念的,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。如果要进行模块化操作,就需要引入第三方的类库。随着技术的发展,前后端分离,前端的业务变的越来越复杂化,于是才有了ES6模块化的诞生。为什么要有模块化,或者模块化的好处是什么呢?大家都遵守同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块间的相互调用。可以将一段复杂的程序拆解开来,方便维护可拓展。ES6模块化规范是浏览器端与服务端通用的模块化开发规范。原创 2023-10-13 16:40:09 · 135 阅读 · 0 评论 -
ES6:Generator函数详解
从另一个角度看,也可以说 Generator 生成了一系列的值,这也就是其名称的来历(在英语中generator”这个词是“生成器”的意思)。上面的代码中,函数 f 如果是普通函数,在为变量 generator 赋值时就会执行。方法时,内部的指针就会从函数的头部或上一次停下来的地方开始执行,直到遇到下一个。方法等于该对象的遍历器对象生成函数,调用该函数会返回该对象的一个遍历器对象。函数运行的不同阶段从外部向内部注入不同的值,从而调整函数行为。上面的代码已经把回调函数改成了直线执行的形式,但是加入了大量。原创 2023-07-29 19:19:54 · 950 阅读 · 0 评论 -
ES6:Object.assign方法详解
首先了解下Object.assign()是什么。我们先看看ES6官方文档是怎么介绍的?Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。注意:Object.assign() 方法至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。原创 2023-07-24 10:18:28 · 4227 阅读 · 0 评论 -
ES6:Module语法
历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。原创 2023-07-04 17:30:11 · 552 阅读 · 0 评论 -
ES6:字符串的扩展
函数的第一个参数是一个数组,该数组的成员是模板字符串中那些没有变量替换的部分,也就是说,变量替换只发生在数组的第一个成员与第二个成员之间、第二个成员与第三个成员之间,以此类推。上面代码中,模板字符串原本是应该报错的,但是由于放松了对字符串转义的限制,所以不报错了,JavaScript 引擎将第一个字符设置为。但是,如果模板字符里面有变量,就不是简单的调用了,而是会将模板字符串先处理成多个参数,再调用函数。注意,这种对字符串转义的放松,只在标签模板解析字符串时生效,不是标签模板的场合,依然会报错。原创 2023-07-04 15:37:12 · 483 阅读 · 0 评论 -
ES6:const、let、var区别
let和const是ES6新增的声明变量的关键词,之前声明变量的关键词是var。// var 定义的变量 var num1 = 100 let num2 = 200 // 变量名称重复 重复赋值效果 var num1 = '北京' console . log(num1) // 变量名称重复 结果是报错 let num2 = '杭州';原创 2023-06-13 15:35:47 · 772 阅读 · 0 评论 -
ES6:简介
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。原创 2023-07-04 11:42:51 · 416 阅读 · 0 评论 -
ES6:数组的扩展
● arr.includes()方法,是查看数组中是否存在这个元素,存在就返回true,不存在就返回false。● arr.filter() 是将符合挑选的筛选出来成为一个新数组,新数组不会影响旧数组。● arr.find()方法,是查找数组中符合条件的第一个元素,直接将这个元素返回出来。● arr.map() 要利用原数组经过运算后的数组,或者从对象数组中拿某个属性。● arr.flat() 数组扁平化,即将多维数组转化为一维数组。● arr.values() 遍历数组的值。原创 2023-06-28 10:04:30 · 556 阅读 · 0 评论 -
ES6:Promise详解
async 和 await 可以说是异步终极解决方案了,相比直接使用 Promise 来说,优势在于处理 then 的调用链,能够更清晰准确的写出代码,毕竟写一大堆 then 也很恶心,并且也能优雅地解决回调地狱问题。2)Promise的状态一旦改变,就不会再变,任何时候都可以得到这个结果,状态不可以逆。回调地狱:回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件。2)如果不设置回调函数,Promise内部抛出的错误,不会反映到外部。创造promise实例后,它会立即执行。原创 2023-06-27 18:12:18 · 5176 阅读 · 2 评论 -
ES6: Map结构
如果 Map 的键是一个简单类型的值(数字、字符串、布尔值),则只要两个值严格相等,Map 将其视为一个键,比如0和-0就是一个键,布尔值true和字符串true则是两个不同的键。这就解决了同名属性碰撞(clash)的问题,我们扩展别人的库的时候,如果使用对象作为键名,就不用担心自己的属性与原作者的属性同名。上面代码的set和get方法,表面是针对同一个键,但实际上这是两个不同的数组实例,内存地址是不一样的,因此get方法无法读取该键,返回undefined。该数组的成员是一个个表示键值对的数组。原创 2023-06-21 15:29:43 · 6552 阅读 · 0 评论 -
ES6: 变量解构赋值
解构赋值是一种快速为变量赋值的简洁语法,本质上仍然是为变量赋值,分为数组解构、对象解构两大类型。注:支持多维解构赋值,比较复杂后续有应用需求时再进一步分析。注:支持多维解构赋值。原创 2023-06-15 15:40:51 · 1156 阅读 · 0 评论 -
ES6:class类详解
class类详解原创 2023-03-23 17:20:54 · 175 阅读 · 0 评论