PhpStorm に組み込まれた JSHint のインスペクションは、JavaScript のマジック ナンバーについて教えてくれました。
私はこれを試しました:
var constants = {
millisecs: 1000,
secs: 60
};
そしてこれも:
var constants = function () {
this.millisecs = 1000;
this.getMillisecs = function () {
return this.millisecs;
};
};
JsHint は両方について文句を言います。
この回答から解決策を取るとうまくいきます:
var constants = (function() {
var millisecs = 1000,
defaultMsgsPerSecond = 60;
this.getMillisecs = function() { return millisecs; };
this.getDefaultMsgsPerSecond = function() { return defaultMsgsPerSecond; };
})();
閉店のせいかな。別のSOの質問から取られた他の2つの提案が受け入れられないのに、これが受け入れられるのはなぜですか?
編集:エラーは発生しませんが、実際には機能しません。定数が未定義であると言うのは誤りです。Jsフィドル。
明確にするために-「機能する」とは、「JsHintから警告をトリガーしない」ことを意味します