--- id: 587d7b87367417b2b2512b43 title: Use Arrow Functions to Write Concise Anonymous Functions challengeType: 1 videoUrl: '' localeTitle: 使用箭头函数编写简明的匿名函数 --- ## Description
在JavaScript中,我们通常不需要命名我们的函数,特别是在将函数作为参数传递给另一个函数时。相反,我们创建内联函数。我们不需要命名这些函数,因为我们不会在其他任何地方重用它们。为此,我们经常使用以下语法:
const myFunc = function(){
const myVar =“value”;
返回myVar;
}
ES6为我们提供了语法糖,而不必以这种方式编写匿名函数。相反,您可以使用箭头函数语法
const myFunc =()=> {
const myVar =“value”;
返回myVar;
}
当没有函数体,并且只有返回值时,箭头函数语法允许您省略关键字return以及代码周围的括号。这有助于将较小的函数简化为单行语句:
const myFunc =()=>“value”
默认情况下,此代码仍将返回value
## Instructions
重写分配给变量magic的函数,该函数返回一个新的Date()以使用箭头函数语法。还要确保使用关键字var定义任何内容。
## Tests
```yml tests: - text: 用户确实替换了var关键字。 testString: 'getUserInput => assert(!getUserInput("index").match(/var/g), "User did replace var keyword.");' - text: magic应该是一个常量变量(通过使用const )。 testString: 'getUserInput => assert(getUserInput("index").match(/const\s+magic/g), "magic should be a constant variable (by using const).");' - text: magic是一种function 。 testString: 'assert(typeof magic === "function", "magic is a function.");' - text: magic()返回正确的日期。 testString: 'assert(magic().getDate() == new Date().getDate(), "magic() returns correct date.");' - text: function关键字未使用。 testString: 'getUserInput => assert(!getUserInput("index").match(/function/g), "function keyword was not used.");' ```
## Challenge Seed
```js var magic = function() { "use strict"; return new Date(); }; ```
## Solution
```js // solution required ```