⊗jsPmFNIF 247 of 505 menu

JavaScriptにおけるネストされた関数

2つの数値をパラメータとして受け取り、 それらの数値の二乗和を返す関数があるとします:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // 13を出力します(結果は 2 * 2 + 3 * 3)

二乗する処理をヘルパー関数 square に切り出してみましょう:

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // 13を出力します

関数 square は関数 func 内でのみ使用され、それ以外では決して使用されないと確信しているとします。

この場合、誰も(あなた自身や一緒に作業している他のプログラマーも) 誤って使用できないようにすると便利です。

JavaScriptにはエレガントな解決策があります: ヘルパー関数 squarefunc の内部に配置することができます。この場合、 ヘルパー関数は func 内部でのみアクセス可能になり、 外部からはアクセスできなくなります。

これを実装してみましょう:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // 13を出力します

func の外部から square を呼び出そうとすると、 エラーが発生します:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! エラーが発生します

2つの数値をパラメータとして受け取り、 1番目の数値の二乗と2番目の数値の三乗の和を返す関数 func を作成してください。 そのために、数値を二乗するヘルパー関数 square と、 数値を三乗するヘルパー関数 cube を作成してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否