矢印関数


関数式

const add = function (x, y) {
  return x + y
}

矢印関数

const add = (x, y) => {
  return x + y
}
上記の関数を作成できます.矢印関数は、Function Expression(Function Expression)を使用して作成する必要があります.矢印関数はfunctionキーワードを矢印に縮小することで表示できます.
const add = (x, y) => x + y
const add = (x, y) => (x + y)   // O, 정상 작동
const add = (x, y) => { x + y } // X, undefined 리턴 
関数の本文(body)に戻り文しかない場合は、矢印関数は戻りを省略できます.この場合、{}カッコ(カッコ)は使用しないでください.
()は、丸カッコ(丸カッコ)を使用できます.

エンクロージャを表す矢印関数の作成


関数式
const adder = function(x) {
  return function(y) {
    return x + y
  }
}
adder(5)(7) // 12
1.functionキーワードを削除します.
矢印関数
const adder = (x) => {
  return (y) => {
    return x + y
  }
}
2.一番奥の部分から外します.returnを省略する場合はカッコは使用しません.
3.矢印関数にパラメータが1つしかない場合は、カッコを省略できます.
const adder = x => {
  return y => x + y
}
4.余剰収益も省略する.
const adder = x => y => x + y

矢印関数の特徴


矢印関数にはthisパラメータ値はありません.したがって、親スキャンでは、デフォルトのスキャンチェーン規則に従って検索されます.