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

関数について

Last updated at Posted at 2021-05-19

#目次
①関数について
②関数の利便性
③関数の種類

###①関数について
関数とはあるデータを受け取り、定められた独自の処理を実行し、その結果を返す命令のことです。

###②関数の利便性

let name  = "Ito"
let name2 = "Sato

console.log("hello"+ name);
console.log("hello"+name2);

関数を使わない場合、何度も変数を定義しなければいけない。


funciton hello(name){
 console.log("hello"+name);
}

hello("Ito");
hello("Sato");

上記のように関数を一度使ってしまえば、使い回しが可能になる。
同じ作業が発生する場合、関数を使用すると便利。

###②関数の種類
・無名関数

const hello = function(name){
 console.log("hello"+name)
 return name;
}

上記のように名前を持たない関数のことを無名関数という。この関数はコールバック関数で多く利用する。

・アロー関数

普通の関数
function hello(name){
 console.log("hello"+name);
}
無名関数
const hello = function(name){
 console.log("hello"+name);
}
アロー関数
const hello = (name)=>{
 console.log("hello"+name);
}

または

const hello = (name)=>console.log("hello"+name);

のように記述ができる。
無名関数からfunctionを取り除き、引数の()の隣に=>をつけるとアロー関数になる。

・コールバック関数
引数に渡す関数のことをコールバック関数という。

function hello(callback){
 console.log("hello"+callback());
}

function getName(){
 return "Ito";
}

hello(getName);

上記の動きを説明すると、
関数のgetNameがhelloの引数に渡り、一番上のcallbackがgetNameになり、console.log("hello"+getName())となる。()がついているのは、getNameを呼び出すため。

コールバック関数に引数を持すこともできる。
以下のように記述をする。

function hello(callback,say){
 console.log("hello"+callback(say));
}

function getName(say){
 return "Ito"+say;
}



//無名関数の場合で書いた場合  
const getName = function(){
 retrun "Ito"
}  


hello(getName,"よろしく")  

//無名関数をコールバック関数に渡す方法
hello(function(say){
 return "Ito"+say
},"よろしく!")

//アロー関数をコールバック関数に渡す方法
hello(say=>"Ito"+say,"よろしく!")
1
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
1
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?