前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6系列_9之对象

ES6系列_9之对象

作者头像
wfaceboss
发布2019-04-08 10:33:04
3560
发布2019-04-08 10:33:04
举报
文章被收录于专栏:wfacebosswfaceboss

1.对象赋值

es5中的对象赋值方式如下:

代码语言:javascript
复制
let name="小明";
let skill= 'es6开发';
var obj= {name:name,skill:skill};
console.log(obj);

结果为:

ES6允许把声明的变量直接赋值给对象,例如:

代码语言:javascript
复制
let name="小明";
let skill= 'es6开发';
var obj= {name,skill};
console.log(obj);

结果与上述相同。

2.对象Key值构建

有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们可以我们可以把后台定义的key值重新构建返回给后台。

 在前端我们可以用[ ] 的形式,进行对象的构建。

代码语言:javascript
复制
let key='skill';//假定是后台定义的key值
var obj={
    [key]:'web'  //构建key值
}
console.log(obj.skill);//web

3.自定义对象方法

 对象方法就是把对象中的属性,用匿名函数的形式编程方法。

代码语言:javascript
复制
var obj={
    add:function(a,b){
        return a+b;
    }
}
console.log(obj.add(1,2));  //3

4.Object.is( ) 对象比较

ES5的对象比较方法,经常使用===来判断,如下:

代码语言:javascript
复制
var obj1 = {name:'admin'};
var obj2 = {name:'admin'};
console.log(obj1.name === obj2.name);//true

ES6为我们提供了is方法进行对比,如下:

代码语言:javascript
复制
var obj1 = {name:'admin'};
var obj2 = {name:'admin'};
console.log(Object.is(obj1.name,obj2.name))//true

区分=== 和 is方法的区别是什么,看下面的代码输出结果。

代码语言:javascript
复制
console.log(+0 === -0);  //true
console.log(NaN === NaN ); //false


console.log(Object.is(+0,-0)); //false
console.log(Object.is(NaN,NaN)); //true

记忆为:===为同值相等,is()为严格相等。

6.Object.assign( )合并对象

使用assgin( )可以实现像数组一样的合并操作。

代码语言:javascript
复制
var a={a:'a'};
var b={b:'b'};
var c={c:'c'};
let d=Object.assign(a,b,c)
console.log(d);

结果为:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档