0

クロージャー (またはモジュール パターン) を定義するときに、一部の開発者が関数式の例var f = function{...};を使用したり、関数宣言を使用したりするのを見てきましたfunction f {...}

巻き上げと一般的な違いは理解していますが、閉鎖に適用される可能性のある違いについては心配しています。

どちらが好まれるのか、なぜなのか疑問に思っています。利点/欠点はありますか? 一般的な違いがない場合、どちらがより一般的ですか?

以下の 2 つのスタイルを検討してください。

var deepThought = (function(){

    var someSecret = "42";

    function whatIsTheAnswerToTheUltimateQuestion() {
        return someSecret;
    }

    function whatIsTheUltimateQuestion() {
        return "I'm not sure yet. You might have to wait a while...";
    }

    return {
        whatIsTheAnswerToTheUltimateQuestion : whatIsTheAnswerToTheUltimateQuestion,
        whatIsTheUltimateQuestion : whatIsTheUltimateQuestion
    };

})();

var deepThought2 = (function(){

    var someSecret = "41";

    var whatIsTheAnswerToTheUltimateQuestion = function () {
        return someSecret;
    };

    var whatIsTheUltimateQuestion = function () {
        return "I'm not sure yet. You might have to wait a while...";
    };

    return {
        whatIsTheAnswerToTheUltimateQuestion : whatIsTheAnswerToTheUltimateQuestion,
        whatIsTheUltimateQuestion : whatIsTheUltimateQuestion
    };

})();
4

0 に答える 0