0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ES6 の関数の書き方

Last updated at Posted at 2018-11-09

はじめに

前に書いた記事の続きです。初見の時に、意味がわからなかった無名関数の書き方をまとめます。

ES6の書き方

関数

次の関数は a, b の二つの引数を受け取り、足し算して返す add という名前がついた関数です。

const add = (a, b) => {
  return a + b;
}

しかし、いちいち名前をつける必要がないときは無名関数と呼ばれる、次の書き方があります。addEventListener の引数などコールバック関数を定義する時によく使われます。

obj.addEventListener('click', event => {
  console.log(event);
}

ここまでは理解できたのですが、次のような関数定義を見た時にすぐには理解できなかったです。

(callback => {
  if(callback !== 'undifined') {
    callback();
  }
})(argument => {
  console.log(argument);
})

この関数は二つの部分から成り、見やすくすると次のようになります。

const func = callback => {
  if(callback !== 'undifined') {
    callback();
  }
}

const callback = argument => {
  console.log(argument);
})

func(callback);

最初の関数定義が、一つの関数を引数に受け取る関数を宣言して

(callback => {
  if(callback !== 'undifined') {
    callback();
  }
})

そして、 callback に渡される関数が後半の関数定義になります。

(argument => {
  console.log(argument);
})
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?