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 3 years have passed since last update.

JavaScriptで使用する関数、関数宣言と関数式、記述方法、違いを理解する

Posted at

#関数を定義する
Rubyでいうところのメゾットのことを、JavaScriptでは関数と呼びます。
**function 関数名( 引数 ){ 処理 }**と記述することで関数を定義することができます。
関数定義方法は主に以下の2種類です。

##(1)関数宣言

function 関数名(引数){
  処理
}

定義例1

function animal(){
  console.log("ライオン")
}

animal()

出力される値:ライオン

定義例2

function calc(num1,num2){
  return num1*num2
}

const num1 = 10
const num2 = 4
console.log(calc(num1,num2))
出力される値:40

※ JavaScriptでは、返り値をreturnで定義する必要があります。  
  今回の場合、returnがなければ値が出力されません

##(2)関数式

変数 = function( 引数 ){
   関数内の処理
}

##二つの変数の違いを理解する。

  • 記述の違い
    関数式の場合は、**function(){}**という無名の関数を定義・代入するという記述になる。
// 関数宣言
function 関数名( 引数 ){
  // 関数内の処理
}

// 関数式
変数 = function( 引数 ){
  // 関数内の処理
}
  • 変数を読み込むタイミングの違い
    関数宣言については、関数以前に定義しても読み込まれる。
//関数宣言
hello() ←変数定義

function hello(){
  console.log('hello')
}

出力される値:hello

関数宣言の場合は、関数定義後に変数を記述しても読み込まれます。

//関数宣言
function hello(){
  console.log('hello')
}
hello() ←変数定義

出力される値:hello

次は、関数式です。

//関数式
hello() ←変数定義

const hello = function(){
  console.log('hello')
}

出力される値:Uncaught SyntaxError: Identifier 'hello' has already been declared

このように、関数式の場合は関数以前に変数を定義するとエラーになってしまいます。
関数式の場合は、関数式以降に変数を記述するようにしましょう。

//関数式

const hello = function(){
  console.log('hello')
}

hello() ←変数定義

出力される値:hello

※ 現在プログラミング勉強中ですので、間違いがあれば教えていただけると幸いです。

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