LoginSignup
1
0

More than 3 years have passed since last update.

JavaScriptの関数と宣言

Posted at

概要

JavaScript Primerを読んでてワチャワチャしてきた部分を整理する。
基本的には書いてあることそのままです。
参考:https://jsprimer.net/basic/function-declaration/

関数宣言

functionから始まる文のこと。

const huga = true;
function hoge(huga)
{
  return huga === true;
}

console.log(hoge(huga));  // => true

返り値を省略した場合、return文を省略した場合はundefinedを返す。

function hoge()
{
  return;
}

function huga()
{
}

console.log(hoge());  // => undefined
console.log(huga());  // => undefined

functionキーワードを使用した関数式

関数式とは、関数を値として変数へ代入している式のことを言います。

関数が値として扱えることをファーストクラスファンクション(第一級関数)と呼ぶ。
関数式の定義方法は以下の通り。

const hoge = function()
{
  return 'hoge';
};

上記のように関数名を省略して書くことができる。
このような名前を持たない関数を匿名関数(または無名関数)と呼ぶ。

Arrow Functionを使用した関数式

const hoge = () =>
{
  return 'hoge';
}

カッコイイですね。
省略記法がいっぱいあるので使いこなしたいところです。
省略記法のルールは以下の通り。

  • 関数の仮引数が1つのときは()を省略できる。
  • 関数の処理が1つの式である場合に、ブロックとreturn 文を省略できる。
    • その式の評価結果を return の返り値とする。
const hoge = () => {return 'hoge';}; // 仮引数がないとき
const hoge = (huga) => {return 'huga';}; // 仮引数が1つのみのとき
const hoge = huga => {return 'huga';}; // 仮引数が1つのみのときは()を省略可能
const hoge = (huga, piyo) => {return huge + piyo;}; // 仮引数が複数のとき

以下の2つは同じ意味となる。

const hoge = (huga) => {return huga * huga;};
const hoge = huga => huga * huga; // 1行のみの場合はreturnとブロックを省略できる
1
0
0

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
1
0