ES6
文章平均质量分 78
2024路在何方
某行业全球top1企业的前端主管
展开
-
JSON.stringify的三个参数你都用过吗?
前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的。参考资料:stringifystringify方法顾名思义,就是把JSON序列换,其语法如下:JSON.stringify(value[, replacer [, space]])注意到它接收三个参数,后面2个参数是可选的。只传一个参数var data = {name:"niuzai",info:{age:18,sex:"male"}};JSON.stringify(data);原创 2021-08-04 16:37:05 · 380 阅读 · 0 评论 -
7、ES6-生成器Generator和迭代器Iterator的实现原理
今天我们要简单讲解下生成器Generator和迭代器Iterator的实现原理,这是实现koa的基础,也是实现异步解决方案async await的基础。在这里,讲解原理的前提是你必须知道生成器Generator和迭代器Iterator是用来干什么的,可以自行搜CSDN相关文章阅读,在这里不做赘述。生成器Generator的实现原理首先,我们用一小段代码来实现一个简易的generator...原创 2018-09-17 22:53:40 · 584 阅读 · 1 评论 -
【Object系列】详解Object.defineProperty与Object.defineProperties()
Object.defineProperty(obj, prop, descriptor)一、定义 该属性能够定义一个对象的新属性,或者修改一个对象已有的属性值,返回这个被处理过的对象 参数: obj:要操作的对象 prop:obj上要定义或修改的属性 descriptor:属性描述器,用于定义或修改该属性的特性。该属性描述器分为两类:数据描述符和存取描述符。 ...原创 2018-09-10 00:04:14 · 3063 阅读 · 0 评论 -
4.ES6-剩余参数、拓展运算符,以及对象合并的方法(含ES7)
剩余参数 语法:…rest 作用:将参数转成数组传入函数 当我传入指定个数参数时:function sum(initVal,a,b,c){ return initVal + a + b + c;}sum(10,9,8,7);//34 当我传入不定个数参数时:function sum(initVal,...rest){ retu...原创 2018-08-22 21:44:37 · 2509 阅读 · 5 评论 -
6、ES6-object(含es5实现es6的类,未完待续)
一、object的简写1、属性的缩写let name = 'zhuangzhuang';let age = 18;let obj = { name:name, age:age} 那么对于这种value为变量,key跟value名字相同的,那么可以简写成如下:let name = 'zhuangzhuang';let age = 18;let ob...原创 2018-09-06 23:08:27 · 1789 阅读 · 0 评论 -
es6常用的方法及其原理-大杂烩【持续更新】
一、 reduce 与 reduceRight1、reduce 将一个数组中的一系列值计算出一个值(从左往右算)//result 表示所有计算结束后返回的值,也就是最后一次return的值let result = arr.reduce(function(val,item,index,origin){ //val当前值, //item当前元素, //index当前索...原创 2018-08-20 23:17:42 · 903 阅读 · 0 评论 -
5.ES6-箭头函数中的this
let obj = { name:'zhuangzhuang', getName:function(){ console.log(this.name); }}let obj2 = { name:'jingjing', readName:obj.getName}obj2.readName();//结果多少?let obj = {...原创 2018-08-23 00:01:40 · 259 阅读 · 0 评论 -
3.ES6-模板字符串及其原理
最初,我们拼接字符串的时候,是通过连接符”+”来接的,并且如果换行等需要使用转义字符,否则就会报错。这样让我们书写十分不便。所以,ES6中就引入了模板字符串,帮助我们解决这一问题。1、拼接和变量作用let name = 'zhuangzhuang';let age = 27;let desc = `${name}今年${age}岁了`;//在这句话中将变量用${}包裹起...原创 2018-08-17 00:04:54 · 2321 阅读 · 0 评论 -
2.ES6-解构赋值及其原理-解构看完这篇足够了
所谓的解构赋值其实就是分解出一个对象的解构,分成两个步骤: 1. 变量的声明 2. 变量的赋值一、 数组的解构赋值/* 对于数组的解构赋值,其实就是获得数组的元素,而我们一般情况下获取数组元素的方法是通过下标获取,例如: let arr = [1,2,3]; let a = arr[0]; ...原创 2018-08-08 00:21:20 · 15487 阅读 · 1 评论 -
1.ES6-let与const
let 与 const 在说到let和const之前,我们必须来回顾下var,var声明变量有以下几个特点: 1. 可以重复声明 2. 不能定义常量 3. 不支持块级作用域一、let let的特点 1. 支持块级作用域 2. 变量不预解析常见题解析: a. 举例一:{ let a = 0;}co...原创 2018-08-05 23:30:38 · 284 阅读 · 0 评论