首页 > 编程语言 > 详细

ES6浅谈--数组扩展、对象扩展

时间:2020-01-09 21:43:20      阅读:55      评论:0      收藏:0      [点我收藏+]

数组扩展

1.includes()方法,参数为要检测的值。includes方法有点像indexOf(),indexOf未检测到则返回-1,否则返回下标。includes则是返回true或false。includes可以检测NaN。第二个参数表示从什么位置检测。

2.flat和flatMap。flat负责把数组拉平,意思是一个二维数组调用flat方法会变成一维数组。参数传的是数组的维度。例如传2则表示将3维拉成1维。如果数组中有空位则跳过。flatMap有点像flat方法和Map方法的结合。先对每个成员执行一次map操作,然后再拉平。默认拉平一层。

3.ES6将空位转成undefined。遍历也会遍历空位。尽量避免出现空位。(如[,,,]这种就是空位)

对象扩展

const foo = ‘bar‘;
const baz = {foo};
baz // {foo: "bar"}

// 等同于
const baz = {foo: foo};

1.ES6中可以将变量和函数直接写入到对象中作为对象的数组和方法。方法名可以简写,如someFunction:function(){}可以简写成someFunction(){}。简写的函数不能被当做构造函数使用。

2.ES6允许在定义对象的属性名使用表达式定义,如[‘a‘+‘bc‘](这是一个对象的属性)= true(一个对象的值)。

3.函数的name属性可以返回函数名,如果是有访问器属性例如getter和setter则需要在描述对象get和set上调用name方法。构造函数name属性返回anonymous,bind方法返回bound 函数名。

4.对象的每个属性都有一个描述对象用于控制该属性的行为。分别是value,writable,enumerable,configurable。尽量用object.keys()代替for..in遍历,因为遍历会引入继承的问题。

5.this指向函数所在的当前对象,新的super指向当前对象的原型对象。只有使用对象方法的简写可以使用super否则报错。

ES6浅谈--数组扩展、对象扩展

原文:https://www.cnblogs.com/harrywu96/p/12172732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!