TIL

5005 ワード

一般的な関数形式の矢印関数と、関数式について説明します.
簡単に1行書いて、読みやすさを高め、有効な指示語や記号を省略して、「かっこ内のパラメータ」や「矢印右側のコード」などがどういう意味なのかを知るようにしましょう.文法に詳しい!

矢印関数


関数式よりも単純で簡潔な構文を使用して関数を作成
矢印関数を使用して簡単な関数を作成します(関数を作成するためにコードをより少なく書くことができるという利点があります).
このコードを作成する目的は、コンテキストを持つ長いコードと比較して、「自己」コンテキストのない短いコードを格納することです.
//example
// 아래 함수의 축약 버전
const func = (arg) => expression

// 함수 표현식
const func = function(arg) {
  return expression;
};
=>인자は、argを受信する함수 funcを作成する.
関数funcは、矢印の右側の式を計算し、計算結果を返します.
// 아래 함수의 축약 버전
const sum = (a, b) => a + b;

// 함수 표현식
const sum = function(a, b) {
  return a + b;
};
「(a,b)=>a+b」は、인수 aおよびbを受信する関数である.
関数が実行された瞬間に「a+b」を評価し、その結果を반환と評価した.
1つの
  • の引数は、引数を含む括弧(符号長の減少)
  • を省略することができる.
    const value = n => n + 1;
    // const value = function(n) { n + 1 } 과 유사
    パラメータ
  • がない場合は、カッコを空白のまま(カッコは省略できません)
  • を作成します.
    const sayHi = () => alert("Hi, Hello!");
    計算が必要な式または語句(本明細書)の複数行の関数は、「かっこ」にコードを記述し、returnインジケータを使用して欠落値を明示的に返します.
    const sum = (a, b) => {
      const result = a + b;
      return result;
    };
    関数を渡すと、関数のコンテキストが失われる可能性があります.
    矢印関数を使用すると、現在のコンテキストが失われないようにします.

    <矢印関数に「this」はありません>


    矢印関数からthisにアクセスすると、外部から値が取得されます.
    (一般関数にthisが存在するため、エラーが発生する可能性があります)
    オブジェクトのメソッドで同じオブジェクトのプロパティを巡回するために使用できます.
    (矢印関数本文の「this.プロパティ」は、矢印関数以外のメソッドが指すターゲットと同じです)

    <矢印関数に「arguments」はありません>


    類似配列オブジェクトパラメータはサポートされていません.これらのパラメータは、通常の関数とは異なり、すべてのパラメータにアクセスできます.