⊗jsPmMCVFEO 504 of 505 menu

JavaScriptにおけるクロージャを利用したモジュールでのオブジェクトエクスポート

次のようなモジュールがあるとします:

;(function() { function func1() { alert('モジュールの関数'); } function func2() { alert('モジュールの関数'); } function func3() { alert('モジュールの関数'); } })();

ここで、3つの関数すべてを外部にエクスポートしたいとします。この場合、モジュールの外部で余分な関数名を増やさないために、すべての関数を1つのオブジェクトに格納し、そのオブジェクトをエクスポートするのが良い方法です:

;(function() { function func1() { alert('モジュールの関数'); } function func2() { alert('モジュールの関数'); } function func3() { alert('モジュールの関数'); } window.module = {func1: func1, func2: func2, func3: func3}; })();

キー名と変数名が一致しているので、関数を含むオブジェクトは以下のように簡略化できます:

;(function() { function func1() { alert('モジュールの関数'); } function func2() { alert('モジュールの関数'); } function func3() { alert('モジュールの関数'); } window.module = {func1, func2, func3}; })();

別の方法もあります。関数を定義する際に、直接オブジェクトに関数を登録する方法です。以下のようになります:

;(function() { let module = {}; module.func1 = function() { alert('モジュールの関数'); } module.func2 = function() { alert('モジュールの関数'); } module.func3 = function() { alert('モジュールの関数'); } window.module = module; })();

次のモジュールがあるとします:

;(function() { let str1 = 'モジュールの変数'; let str2 = 'モジュールの変数'; let str3 = 'モジュールの変数'; function func1() { alert('モジュールの関数'); } function func2() { alert('モジュールの関数'); } function func3() { alert('モジュールの関数'); } function func4() { alert('モジュールの関数'); } function func5() { alert('モジュールの関数'); } })();

最初の5つの関数と最初の2つの変数を含むオブジェクトを外部にエクスポートしてください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否