一、ES对象的增强
ES6让JavaScript对象有了一种全新的魅力,ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量)。
1.1. 属性的简写
你有没有过这样的经历?当你需要创建一个对象,你发现对象的属性名称和对应的变量名称恰好是一样的,你是否感到这样重复编码的过程非常痛苦?在ES6中,这问题已经被解决啦。
var name = "why"
var age = 18
// ES5的写法
var obj1 = {
name: name,
age: age
}
// ES6的增强写法
var obj2 = {
name,
age
}
1.2. 方法的简写
对象不仅被赋予了简化属性的能力,而且对象的方法也可以多了简写方式,就像一个新家具能更好地装饰你的房子一样。
// ES5的方法写法
var info1 = {
foo: function() {
},
bar: function() {
}
}
// ES6的增强写法
var info2 = {
foo() {
},
bar() {
}
}
1.3. 计算属性名
有时候,我们可能希望动态地设置对象的属性名。可以想象一下,这就像你的家有一扇神奇的门,门的名字不是固定的,而是根据你的需要改变。
var name = "three"
var obj = {
one: 1,
two: 2
}
obj[name] = 3
在ES6中,我们可以直接在字面量中编写计算属性名:
英文称之为 Computed Property Names
var name = "three"
var obj = {
one: 1,
two: 2,
[name]: 3
}
console.log(obj)
二、函数知识补充
1.1. 函数的默认值设置
在ES6之前,我们编写的函数参数是没有默认值的,所以我们在编写函数时,如果有下面的需求:
- 传入了参数,那么使用传入的参数
- 没有传入参数,那么使用一个默认值
通常我们会进行如下方式的实现:
function