--- id: 587d7b8b367417b2b2512b50 title: Write Concise Declarative Functions with ES6 challengeType: 1 videoUrl: '' localeTitle: 用ES6编写简明的声明函数 --- ## Description
在ES5中定义对象内的函数时,我们必须使用关键字function ,如下所示:
const person = {
名称:“泰勒”,
sayHello:function(){
回来`你好!我的名字是$ {this.name} .`;
}
};
使用ES6,您可以在定义对象中的函数时完全删除function关键字和冒号。以下是此语法的示例:
const person = {
名称:“泰勒”,
问好() {
回来`你好!我的名字是$ {this.name} .`;
}
};
## Instructions
重构对象bicycle内的函数setGear以使用上述简写语法。
## Tests
```yml tests: - text: 未使用传统函数表达式。 testString: 'assert(!getUserInput("index").match(/function/),"Traditional function expression was not used.");' - text: setGear是一个声明函数。 testString: 'assert(typeof bicycle.setGear === "function" && getUserInput("index").match(/setGear\s*\(.+\)\s*\{/), "setGear is a declarative function.");' - text: '' testString: 'assert((new bicycle.setGear(48)).gear === 48, "bicycle.setGear(48) changes the gear value to 48.");' ```
## Challenge Seed
```js // change code below this line const bicycle = { gear: 2, setGear: function(newGear) { "use strict"; this.gear = newGear; } }; // change code above this line bicycle.setGear(3); console.log(bicycle.gear); ```
## Solution
```js // solution required ```