関数
関数とは、「いくつかの処理をまとめたもの」のこと。
関数を定義する
【書き方】
const 定数名 = function() {
まとめたい処理
}
このように関数を用意することを、「関数を定義する」という。
関数の呼び出し
関数を定義した際に使用した定数名を用いて、「定数名();」と書くことで関数の中の処理を実行できる。
【例】
const introduce = function() {
console.log(“こんにちは”);
console.log(“私は猫が好きです”);
}
introduce(); → 「こんにちは 私は猫が好きです」と出力される
アロー関数
「function()」の部分を「() =>」としても、これまでと同じように関数を定義できる。
この書き方を「アロー関数」という。
引数(ひきすう)
関数に与える追加情報のようなもの。
関数を呼び出すときに一緒に値を渡すことで、関数の中でその値を利用できる。
引数を受け取る関数の定義
【書き方】
const 定数名= ( 引数名 )=> {
処理
}
【例】
const intoroduce = ( name )=> {
処理
}
引数を受け取る関数の呼び出し
【書き方】
const 定数名= ( 引数名 )=> { 値が因数に代入される
処理
}
定数名 ( 値 ) ;
【例】
const introduce = ( name )=> {
console.log(“こんにちは”);
console.log(`私は${name}です`);
}
introduce ( “ピノ” ) ; ・・・ ①
introduce ( “もんた” ) ; ・・・ ②
①こんにちは 私はピノです
②こんにちは 私はもんたです。
複数の引数を受け取る関数
引数名と値をコンマ(,)で区切る。
【例】
const introduce = ( name,age )=> {
console.log(`私は${name}です`);
console.log(`${age}歳です`);
}
introduce(もんた,14); → 私はもんたです 14歳です
戻り値
呼び出し元で受け取る処理結果を戻り値(もどりち)と呼び、このことを「関数が戻り値を返す」と言う。
【書き方】
const 定数名= ( )=> {
retune 値;
}
- 「return 値」と書くことで、関数はその値を戻り値として返す。
- 関数の処理を終了させる性質も持つため、returnの後にある処理は実行されない。
【例①】
const 定数名= ( a,b )=> {
return a + b;
}
const sum = add ( 1 + 3 );
console.log(sum); → 「4」と出力される
【例②】
if文で使うような条件式をreturnすると、その条件式の結果として得られる真偽値(trueまたはfalse)を返すことができる。
const check = ( number ) => {
return number % 2 === 0 → 2の倍数(偶数)の場合「true」
}
console.log(check(6)); → 「true」
console.log(check(7)); → 「false」
スコープ
変数や定数の使用できる範囲のこと。
関数の外側に定義した場合
関数の外側で定義した定数や変数は、プログラムのどこからでも使える。
【例】
const name = “もんた”; ← 関数の外側で定義した定数
const introduce = () => {
console.log(name); →もんた
}
introduce();
console.log(name); →もんた
関数の内側に定義した場合
関数の{}内で定義した定数や変数は、その関数の内側でのみ使用できる。
【例】
const introduce = () => {
const name = “もんた”; ← 関数の内側で定義した定数
console.log(name); →もんた
}
console.log(name); →範囲外なので定数nameが使えない
関数の内外に同じ名前の定数を定義した場合
関数の内側と外側で同じ名前の変数を定義した場合は、それらは別々のものとして扱われる
【例】
const name = “ピノ”; ← 関数の外側で定義した定数
const introduce = () => {
const name = “もんた”; ← 関数の内側で定義した定数
console.log(name);
}
introduce () ; →もんた
console.log(name); →ピノ
関数以外のスコープ
関数だけでなく、ifやswitchなどの条件文、forやwhileなどの繰り返し文などの、中括弧「{}」を使う構文でもスコープを作る。
コメント