ES6-对象、函数、数组的扩展

本文介绍了ES6中对象、箭头函数和数组的扩展特性,包括Object.is()、Object.assign()、Object.keys()、Object.values()、Object.entries()等对象方法,箭头函数的特点及其this指向,以及数组的扩展运算符、Array.from()、Array.of()、find()、findIndex()、fill()和新遍历方法。这些新特性极大地提高了JavaScript的编写效率和代码的简洁性。
摘要由CSDN通过智能技术生成

对象的扩展

ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。

ES6允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。

let name ='tom'
let age =12
let obj = {
   name,
   age
}
console.log(obj)  //{name:'tom',age:12}   

let propKey ='foo';
let obj ={[propKey]:true,['a'+'bc']:123};
console.log(obj) //{foo:true,abc:123}

函数的name属性,返回函数名。在下面的代码中,获取的变量的值作属性名。

let text='hello'
let obj ={
     age:12,
     text,
     [text]:123
 }
 console.log(obj) // { age: 12, text: 'hello', hello: 123 }

1) Object.is() 用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。

let a =10
let b =20
console.log(Object.is(a,b));  //false
console.log(a===b) //false 

不同之处只有两个:一是+0不等于-0,二是NaN等于自身。

let a =-0
let b =+0
console.log(Object.is(a,b));  //false
console.log(a===b) //true

let a =NaN
let b =NaN
console.log(Object.is(a,b));  //true
console.log(a===b) //false
console.log(a==b) //false

2) Object.assign(target,o1,o2…) 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。

let a ={age:12}
let b ={age:14,name:'tom'}
let c={
     text(){

     }
 }
let target ={}
Object.assign(target,a,b,c)
console.log(target) //{ age: 14, name: 'to
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值