您的位置:首页 > 移动开发 > Objective-C

ES6学习——新的语法:对象字面量扩展(Object Literal Extensions)

2016-01-02 09:22 716 查看
对象字面量大家应该都熟悉,就是两个大括号({}),ES6中对对象字面量增加了几个实用的新语法,大大增加了它的易用性。

1)精简属性:

var x = 2, y = 3,o = {x,y};
console.log(o)//Object { x: 2, y: 3 }


2)精简方法:

let obj = {
conciseMethod(x, y) {
console.log(x,y)
},
commonMethod:function(x,y){
console.log(x,y)
}
};

obj.myMethod(1,2)//1 2


3)最重要的一点,计算属性,前面的文章中我们提过:

let propKey = 'foo';
let obj = {//ES6
[propKey]: true,
['b'+'ar']: 123
};

//ES6之前只能这样写:
obj[propKey + "1"] = false;
obj['f'+'oo2'] = 456;

console.log(obj);//Object { foo: true, bar: 123 }


ES6之前要想用变量当作对象的属性名称,必须先声明一个字面量,然后在用中括号语法赋值,ES6中直接可以在声明的时候就使用中括号语法来使用变量。

对象的方法一样可以使用这样写法:

let obj = {
['h'+'ello']() {
return 'hi';
}
};
console.log(obj.hello()); // hi


*以上全部代码在Firefox 43下通过测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: