本文实例讲述了ES6对象操作。分享给大家供大家参考,具体如下: 1.对象赋值 es5中的对象赋值方式如下: let name="小明";let skill= 'es6开发';var obj= {name:name,skill:skill};console.log(obj); 结果为:
本文实例讲述了ES6对象操作。分享给大家供大家参考,具体如下:
1.对象赋值
es5中的对象赋值方式如下:
let name="小明"; let skill= 'es6开发'; var obj= {name:name,skill:skill}; console.log(obj);
结果为:
ES6允许把声明的变量直接赋值给对象,例如:
let name="小明"; let skill= 'es6开发'; var obj= {name,skill}; console.log(obj);
结果与上述相同。
2.对象Key值构建
有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们可以我们可以把后台定义的key值重新构建返回给后台。
在前端我们可以用[ ] 的形式,进行对象的构建。
let key='skill';//假定是后台定义的key值 var obj={ [key]:'web' //构建key值 } console.log(obj.skill);//web
3.自定义对象方法
对象方法就是把对象中的属性,用匿名函数的形式编程方法。
var obj={ add:function(a,b){ return a+b; } } console.log(obj.add(1,2)); //3
4.Object.is( ) 对象比较
ES5的对象比较方法,经常使用===来判断,如下:
var obj1 = {name:'admin'}; var obj2 = {name:'admin'}; console.log(obj1.name === obj2.name);//true
ES6为我们提供了is方法进行对比,如下:
var obj1 = {name:'admin'}; var obj2 = {name:'admin'}; console.log(Object.is(obj1.name,obj2.name))//true
区分=== 和 is方法的区别是什么,看下面的代码输出结果。
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( )可以实现像数组一样的合并操作。
var a={a:'a'}; var b={b:'b'}; var c={c:'c'}; let d=Object.assign(a,b,c) console.log(d);
结果为:
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。