始める前に、私は JavaScript の初心者であり、JavaScript のパターンと用語についてほとんど理解していない/知識がないことを告白したいと思います。
以前、JavaScript プロトタイプ パターンを使用して、仕事で大きな効果を上げました。
これは、プロトタイプ パターンを使用した以前の作品のサンプルです。
var SomeNameSpace = SomeNameSpace || {};
SomeNameSpace.SomeClass = function(oSomeParameter){
this.SomeProperty = oSomeParameter
...
}
SomeNameSpace.SomeClass.prototype = {
SomeClassMethod: function (oSomeOtherParameter) {//code here}
}
var someClassInstance = new SomeNameSpace.SomeClass("some string");
var result = someClassInstance.SomeClassMethod("some other string");
そのスニペットは、私が常に JavaScript を使用してきた方法の例です
私はいくつかの新しい JavaScript コードのサポートを担当しています。この新しいライブラリには、同様のプロトタイプ パターンを導入したいと考えています。しかし、名前空間は私にとってなじみのない方法で記述されており、ニーズに合わせて変更する方法がわかりません。
例
if (typeof SomeNamespace == "undefined") {
SomeNamespace = { __namespace: true };
}
SomeNamespace.SomeOtherNamespace = {
SomeClass: function(oSomeParameter){
this.SomeProperty = oSomeParameter
...
}
}
このコードにプロトタイプ関数を追加する方法がわかりません....
(詳細が曖昧な場合は申し訳ありませんが、2番目の例で名前空間がそのように宣言されている理由がわからないので、誰かが私にそれを説明できれば、それは素晴らしいことです!)
*編集* 2 番目の例の構文を修正
*編集* 私の例では「new」キーワードを省略しました