0
0

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 1 year has passed since last update.

JavaScriptの関数宣言

Last updated at Posted at 2022-02-08

#関数

##通常の関数
ごく普通の関数の定義と呼び出し
宣言場所が、呼び出しの後でも機能する(巻き上げが起こる)

//構文
function 関数名(){
  //処理
}

//例
function AAA(aaa){
  console.log(`引数は${aaa}`)
}

AAA('引数');//関数呼び出し

##無名関数 (関数式)
関数名が無い関数
他の関数の引数に指定したり、変数に格納して使用することができる
宣言場所が、呼び出しの前でなければ機能しない(巻き上げが起こらない)

//構文
const 変数名 = function(引数){
  //処理
}

//例
const sum = function(a,b,c){
  return a + b + c;
}

const total = sum(1,2,3);//関数呼び出し

##アロー関数
無名関数の function を => で表現したもの
IEでは使用できない

//構文
引数=>処理

const 変数名 = (引数)=>{
  //処理
}

//例
const sum = (a,b,c)=>{
  return a + b + c;
}

const total = sum(1,2,3);//関数呼び出し
//関数の中身が1行のみ(return ◯○)の場合{}を省略して1行で書ける
const sum = (a,b,c) => a+ b + c;

//さらに、引数が一つの場合、()も省略できる
const sum = a => a + 2;

//ただし引数がない場合は()を省略できない
const sum = () => { 処理 };

##即時関数
関数宣言と同時に実行する

//構文
(function (仮引数) {
  //処理
})(引数);

//例
(function (name) {
  console.log(`こんにちは、${name}`);
})('まい');
//こんな使い方もあり
//ユーザーエージェントでデバイスの判定
const device = (function() {
  if (navigator.userAgent.match(/iPhone|Android.+Mobile/){
    return 'mobile';
  } else {
    return 'pc';
  }
})();

アロー関数は慣れないと暗号にしか見えませんが、(引数)=>{処理}となっているので
この引数でこの処理してね〜と言っているように見えなくもない。。。かもしれません。

0
0
1

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?