1、对象的扩展vue
一、ES6中作了简化:code
传统对象是键值对的集合。对象
①初始化时key和value名字相同,可简写ip
function createPerson(name, age){ retrun { name, age } }
②属性值为方法,可省略冒号和function关键字(vue中的用法)get
methods:{ getName(){ console.log('name') }, getAge(){ console.log('age') } }
二、属性名可计算it
以前的版本,可经过[]来访问名字为变量的属性,此种方法的前提是属性变量名已知。io
ES6中属性名是可计算的console
let obj = {}, originArr=[{ name: "jack", age: "19"}, { name: "tom", age: "20"}]; for(let i=0;i<originArr.length; i++){ obj['first-' + originArr[i].name] = originArr[i].age } console.log(obj)//{ 'first-jack': '19', 'first-tom': '20' }
三、新增方法function
①比较值得方法(Object.is())变量
断定NaN和NaN相等:Object.is(NaN, NaN) //true
断定+0和-0不等:Object.is(+0, -0) //false(+0和-0在JavaScript引擎中是两个彻底不一样的实体)
②对象的混合(Object.assign())
let objA = { name: 'kit', age: '21'}, objB = { sex: 'meal', height: '180'}; Object.assign(objA, objB); console.log(objA) //{ name: 'kit', age: '21', sex: 'meal', height: '180' } console.log(objB) //{ sex: 'meal', height: '180' }