dojo 1.6 までは、次のように public 定数を定義していました。
dojo.declare('x.y.Z', null, { ... });
x.y.Z.constant = 100;
このようにして、クラスをインスタンス化せずに他のコードからアクセスできます。
Dojo 1.7 以降、ウィジェットの名前が変更されたり、移動されたりする可能性があります。したがって、コード内で絶対モジュール ID を使用しないでください。
そのような定数を定義する良い方法は何でしょうか?
dojo 1.6 までは、次のように public 定数を定義していました。
dojo.declare('x.y.Z', null, { ... });
x.y.Z.constant = 100;
このようにして、クラスをインスタンス化せずに他のコードからアクセスできます。
Dojo 1.7 以降、ウィジェットの名前が変更されたり、移動されたりする可能性があります。したがって、コード内で絶対モジュール ID を使用しないでください。
そのような定数を定義する良い方法は何でしょうか?
定義済みのウィジェット クラスにアタッチしようとしている場合は、次のようにすることができます。
define(["dojo/_base/declare"], function(declare) {
var MyWidget = declare([], {
//Define your widget as usual
});
MyWidget.someConstant = "42";
return MyWidget;
});
そして今、あなたはそれを次のように使うことができます:
require(["MyWidget"], function(MyWidget) {
console.debug(MyWidget.someConstant); // Prints out "42"
});
window オブジェクト内にオブジェクトを作成します。
window.myConstants={};
window.myConstants.c1=100;
myConstants オブジェクトはグローバル オブジェクトであるため、コード内のどこからでもアクセスできます。
JavaScript には実際の定数はありません。