gorogoronyan FC2

JavaScript: アロー関数

概略

アロー関数を使うとコールバックなどの function(){...} の記述を簡略にすることができます。

// 従来の記述
let result = array.filter( function(value){
   return Number.isFinite(value);
});

// アロー関数で記述
let result = array.filter( value => Number.isFinite(value) );
(補足) アロー関数は IE で使えませんでした。 2020年代は気にせず。

アロー関数の書き方

サンプル

「アロー関数は this を束縛しない」 (2024/01)

ちょっと説明を聞いただけでは何を言ってるのかよく分からない話の 1つです。

要点は、イベント処理などのコールバックを書くときに アロー関数で書いた方が this を気にしなくて済みますよ、 アロー関数以外の方法で書くと状況によっては this を気にする面倒な話 が出てきますよ、という趣旨です。

this が指しているオブジェクトが異なる

1) アロー関数内の this と 2) 従来の function(){ ... }内の this で、 this の指すオブジェクトが変わる場合があります。 「this を束縛しない」、「this を束縛する」 といった説明で出てきます。

1) this は obj を指す
  obj.func1( function(){ return this.value1 });

2) this は obj の外側のコンテキストのオブジェクトを指す (obj ではない)
  obj.func1( () => this.value1);

function(){ ... } を使ったコールバックの書き方は IE 時代までの古い話なので 2020年代は使わない方が良いです。

関連

inserted by FC2 system