【JavaScript】関数 function の使い方【基本文法】

【JavaScript】関数 function の使い方【基本文法】
SIM

JavaScriptの基本文法の忘備録として、関数(function)についてまとめてみました。

目次

関数|functionの使い方

SIM

変数のletやconstだけで計算式を作ると面倒です。
そこで、これを楽にする関数functionの登場です。

下に円の面積を求める式を作ってみて、関数を使ってないバージョンと使ったバージョンで比べてみます。

まず、関数を使わない場合、下の変数宣言を毎回全部書く必要があります。

let radius = 5 //半径の変数宣言
const pai = 3 //円周率の変数宣言
const area = radius * radius * pai  //面積の計算式の変数宣言
console.log(area)  //命令
75  //結果

次に、関数functionを使った場合は、calCircleArea(引数)を書くだけで計算ができます。

function calCircleArea(radius){   /関数calCircleArea(radius)
  const pai = 3   //円周率paiの変数宣言
  const area = radius * radius * pai   //面積areaの変数宣言
  return area
}
calCircleArea(5)   //命令(半径5)
75   //結果(半径5)
calCircleArea(9)   //命令(半径9)
243   //結果(半径9)

関数 functionの重要な概念

SIM

functionの後ろの()の中の値を引数(ひきすう)、
function()で得られた値を返り値といいます。
また、returnの値に戻り値を書くことで関数の呼び出し元に値を返します

下の関数名calCircleArea(5)の例では、引数は5、返り値は75になる。

function calCircleArea(radius){   //関数名: calCircleArea, 引数: radius(半径)
  const pai = 3   //変数宣言:pai(円周率)
  const area = radius * radius * pai   //変数宣言:area(面積)
  return area  //戻り値::area(面積)
}
calCircleArea(5)   //命令(半径5:引数)
75   //結果(返り値)

関数の別の書き方

SIM

関数には書き方には上で紹介した他に幾つか種類があります。

関数式で関数を定義する

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

const CircleArea = function (radius) {  //変数名: CircleArea, 引数: radius(半径)
 const pai = 3  //変数宣言:pai(円周率)
 const area = radius * radius * pai  //変数宣言:area(面積)
 return area  //戻り値:area(面積)
}

CircleArea(5)  //命令:引数5の場合の面積
75  //返り値
CircleArea(9)  //命令
243  //返り値
CircleArea(23)  //命令
1587  //返り値

アロー関数式で関数を定義する

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

const CircleArea = (radius) => {  //変数名: CircleArea, 引数: radius(半径)
 const pai = 3  //変数宣言:pai(円周率)
 const area = radius * radius * pai  //変数宣言:area(面積)
 return area  //戻り値:area(面積)
}

CircleArea(5)  //命令:引数5の場合の面積
75  //返り値
CircleArea(9)  //命令
243  //返り値
CircleArea(23)  //命令
1587  //返り値

引数を入れなくても良い関数

SIM

関数には引数を入れなくても良い場合もあります。

function showMessage () {     //関数名: calCircleArea, 引数: なし
  console.log("こんにちは")
  console.log("さようなら")
}

showMessage()  //命令
こんにちは  //返り値
さようなら  //返り値

複数の引数を使う場合はカンマで区切る

function(第1引数, 第2引数){処理}

function name(lastName, firstName){
  console.log(`${firstName} ${lastName}`)
}

name('山田', '花子')  //命令
山田 花子  //返り値

functionの内側と外側の変数の使用範囲

SIM

関数functionの内側・外側で宣言された変数は使える範囲がそれぞれ違いますので、具体例で見ていきましょう。

functionの中で宣言された変数は外側で使えない

function evening () {
  const message2 = "こんばんわ"   //変数宣言:message2(functionの内側で)
}

evening (message2)  //命令:引数(message2)
ReferenceError{ message2 is not defined }  //エラー発生

functionの外側で宣言された変数は内側で使える

const message2 = "こんばんわ"   //変数宣言:message2(functionの外側で)

function hello () {
  console.log(message2)    //function外側で宣言した変数message2を内側で使用
}

hello ()   //命令
こんばんわ   //返り値
let message    //変数名だけ宣言:message(functionの外側で)

function say() {
  message = "hello"    //function外側で宣言した変数名messageに、内側で値を代入
}

say()
console.log(message)   //命令

hello   //返り値
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

■清水WEB制作代表
■コーディング:WordPress(オリジナルテーマ制作等)・HTML・Sass・FLOCSS・JavaScript(jQuery)等
■集客力:YouTube/Instagram/ブログでそれぞれ登録者数16000人/フォロワー13000人/月間最大アクセス50000PVの集客実績があります
■文章作成:博士号所有、会社員時代は科学雑誌に寄稿していたので文章作成も得意です
■写真技術:Amazon Kindle出版で、写真集・撮影編集解説書を5冊好評発売中です

目次