これは、Google Chrome デバッガーで私を悩ませてきたものであり、解決する方法があるかどうか疑問に思っていました。
多くのオブジェクト指向 JS ( Jooseフレームワークを使用) を使用して大規模な Javascript アプリケーションに取り組んでおり、コードをデバッグすると、すべてのクラスに無意味な初期表示値が与えられます。私の言いたいことを理解するには、Chrome コンソールでこれを試してください。
var F = function () {};
var myObj = new F();
console.log(myObj);
出力は、展開して のすべてのプロパティを表示できる 1 行である必要がありますmyObj
が、最初に表示されるのは▶ F
.
私の問題は、OO フレームワークのために、インスタンス化されたすべてのオブジェクトが同じ 'name' を取得することです。これを担当しているように見えるコードは次のようになります。
getMutableCopy : function (object) {
var f = function () {};
f.prototype = object;
return new f();
}
つまり、デバッガーでは、初期ビューは常に▶ f
.
さて、Joose がオブジェクトをインスタンス化する方法(getMutableCopy...?)については何も変更したくありませんが、独自の名前を提供できるようにこれに追加できるものがあれば、それは素晴らしいことです。
私が見たが、どこにも行けなかったいくつかのこと:
> function foo {}
> foo.name
"foo"
> foo.name = "bar"
"bar"
> foo.name
"foo" // <-- looks like it is read only