freeCodeCamp/curriculum/challenges/japanese/02-javascript-algorithms-an.../es6/use-arrow-functions-to-writ...

2.5 KiB

id title challengeType forumTopicId dashedName
587d7b87367417b2b2512b43 アロー関数を使用して簡潔な匿名関数を記述する 1 301211 use-arrow-functions-to-write-concise-anonymous-functions

--description--

JavaScript では多くの場合、特に他の関数に引数として関数を渡す場合に、関数に名前を付ける必要がありません。 代わりに、インライン関数を作成します。 これらの関数は他の場所で再利用することがないため、名前を付ける必要はありません。

これを実現するため、次のような構文をよく使用します。

const myFunc = function() {
  const myVar = "value";
  return myVar;
}

ES6 では、こうした方法で匿名関数を記述する必要がないように、構文糖が用意されています。 代わりにアロー関数の構文を使用できます。

const myFunc = () => {
  const myVar = "value";
  return myVar;
}

関数本体がなく戻り値のみが存在する場合は、アロー関数の構文を使用して、コードを囲む中括弧やキーワード return を省略できます。 比較的小さな関数であれば、この方法で 1 行のステートメントにまとめることができます。

const myFunc = () => "value";

このコードもまた、デフォルトで文字列 value を返します。

--instructions--

new Date() を返す関数が変数 magic に割り当てられています。この関数を、アロー関数の構文を使用するように書き換えてください。 また、キーワード var による定義を使用しないでください。

--hints--

var キーワードを置き換える必要があります。

assert.notMatch(code, /var/g)

magic は (const を使用して宣言した) 定数変数である必要があります。

assert.match(code, /const\s+magic/g)

magicfunction である必要があります。

assert(typeof magic === 'function');

magic() は正しい日付を返す必要があります。

assert(magic().setHours(0, 0, 0, 0) === new Date().setHours(0, 0, 0, 0));

function キーワードは使用しないでください。

assert.notMatch(code, /function/g)

--seed--

--seed-contents--

var magic = function() {
  return new Date();
};

--solutions--

const magic = () => {
  return new Date();
};