Es6对象数组新方法

Object.is()

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

Object.is('foo','foo') // true
Object.is({},{}) // false

上面代码中两个空对象不相等,因为它们的引用地址不同。
不同之处只有两个: 一是 +0 不等于 -0 , 二是 NaN 等于自身

// Es5写法
+0  === -0 // true
NaN === NaN  //false

//Es6提出的新算法方法
Object.is(+0,-0) //false
Object.is(NaN,NaN) // true
Object.freeze()

该方法可以冻结一个对象,冻结对象指的是不能向这个对象,添加属性、删除属性、修改属性、以及不能修改该对象已有属性的可枚举型、可写性、可配置性,该方法返回被冻结的对象。

var json = {
  name:'秦司令'
};
var obj = Object.freeze(json);
obj.age = 20;        // 不生效
obj.name = 'abc';   //不生效
delete obj.name    // 不生效
console.log(obj.name);  //秦司令 
console.log(obj.age)  // undefined
对象的解构
// const people = {
//     name: 'cs',
//     age: 25
// }
// const { name, age } = people; 
// console.log(name,age);//cs 25
数组的解构
// const names = ["Henry","Bucky","Emily"];
//  const [name1,name2,name3] = names;
//  console.log(name1,name2,name3);//Henry Bucky Emily
// //返回数组个数
// const {length} = names;
// console.log(length);   //3
提供对象合并
// const obj1 = {
//     a: 1
//   }
//   const obj = Object.assign({c: 2}, obj1)
//   console.log(obj);//{a:1,c:2}
扩展运算符…
// const arr1 = [1,2,3]
// const arr2 = [4,5,6]
// const arr3=[...arr1,...arr2]
// console.log(arr3)   //[1, 2, 3, 4, 5, 6]

// const arr = [1,2,3]
// const arr1 = [...arr, 4, 5, 6];
// console.log(arr1);//[1, 2, 3, 4, 5, 6]
字符串转数组
// var str = 'love';
// var arr = [...str];
// console.log(arr);//[ 'l', 'o', 'v', 'e' ]
rest参数…

// 作用与扩展运算符恰好相反,把逗号隔开的值序列组合成一个数组
// rest参数,返回的是一个对象

// const obj = {a: 2, b: 3, c: 4, d: 5};
// const {a, ...rest} = obj; // 2 { b: 3, c: 4, d: 5 }
// console.log(a);
// console.log(rest);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值