--- 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)); - text: magic应该是一个常量变量(通过使用const )。 testString: getUserInput => assert(getUserInput('index').match(/const\s+magic/g)); - text: magic是一种function 。 testString: assert(typeof magic === 'function'); - text: magic()返回正确的日期。 testString: assert(magic().setHours(0,0,0,0) === new Date().setHours(0,0,0,0)); - text: function关键字未使用。 testString: getUserInput => assert(!getUserInput('index').match(/function/g)); ```
## Challenge Seed
```js var magic = function() { "use strict"; return new Date(); }; ```
## Solution
```js // solution required ```