2

newJavascriptには、従来のOOP言語と同じようにクラスがなく、次のような「クラス」定義は、キーワードで使用できる単なる関数オブジェクトであることを私は知っています。

function MyClass(){
  this.a = function(){ /* Do something */ }; // Public function
  function b(){ /* Do something */ }; // Private function
}

私が疑問に思っているのは、(名前空間の汚染を避けるために)グローバルオブジェクトを定義し、このオブジェクト内にクラスを定義する場合、これよりも優れた方法でクラスの静的メソッドを定義できますか?

var MyObject = {
  MyClass: function(){
    this.a = function(){ /* Do something */ }; // Public function
    function b(){ /* Do something */ }; // Private function
  },
}
MyObject.MyClass.MyStaticMethod = function(){ /* Do something */ };

関数スコープMyStaticMethod内で定義することに沿って何かを考えていました-これは可能ですか?MyClass

4

1 に答える 1