とJavaScriptコードを短く?私は延長などを意味しますか?デフォルトのパラメータ値については、私はそのような機能を持って拡張したりなど
0
A
答えて
3
var deviceTableGridId = tableGridId || gridId,
getUrl = url || restUrl;
1
initGrid: function(tableGridId, url) {
tableGrid = tableGrid || gridId;
url || (url = restUrl);
...
}
パターンは、それらがfalse
を上書きするので、truthy値をチェック、
x = x || someValue;
と
x || (x = someValue);
よう注の両方をチェックしています""
,0
など
あなたは何か、より安全な試み
x === undefined && (x = someValue);
0
どちらも他のソリューションを使用する場合はfalsy
値が許容入力から除外することができたときに最適です。しかし、それができない場合は、単純なヘルパー関数が問題を解決します。
function getOrDefault(val, other) {
if (typeof val == "undefined") {
return other;
}
return val;
}
var someVal = getOrDefault(someVar, 4);
var getUrl = getOrDefault(url, restUrl);
もう1つのアプローチがあります。
var someVal = someVar;
if (typeof someVal == "undefined") {
someVal = 4;
}
var getUrl = url;
if (typeof getUrl == "undefined") {
someVal = restUrl;
}
うまくいけば、最初の解決策をお勧めします。
関連する問題
- 1. 私はこの機能を持っている拡張
- 2. UIを持たない拡張機能
- 3. Firefox拡張機能ではどのようなライトボックスが機能しますか?
- 4. 私はこのような機能を持っているイテレータ
- 5. ちょうどニュースの拡張機能をインストールし、それは私のMagento
- 6. 拡張機能の開発者はどのようにユーザーがlintingのような機能をカスタマイズできるようになっていますか?
- 7. 私の拡張ステートメントはなぜ機能しませんか?
- 8. ブックマーク拡張機能のようなウェブサーバーベースのクロム拡張機能のためのOauth
- 9. は、私はそのようなルートを持っているプロセッサ
- 10. 私はそうのようなマップを持っているマップ
- 11. は、マップ機能は、私はこのようになりますステートレスなコンポーネントのフォームヘルパーを持っている
- 12. svn propsetのようなMercurial拡張機能はありますか?
- 13. Tamperdata for Chromeのような拡張機能はありますか?
- 14. は、私はそのようなリスト持っているリスト
- 15. traitは機能拡張機能を拡張していますか(A => B)?
- 16. SendInput、私はそのようなものを持っている
- 17. LINQは、私は以下のようにコードを持って拡張メソッドを
- 18. パス私はこのような二つの機能を持っている
- 19. は、私はこのようなテストを持っているジャスミンその機能に
- 20. 私はそのようなコードを持っている
- 21. こんにちは私はこのようなものですクラスの機能を持っている機能
- 22. のLINQ ORDERBY、私はこの機能を持ってそれを
- 23. 私はFirefoxの拡張機能を作成してい
- 24. IExtension:拡張可能なオブジェクトパターン:どのように機能するのですか?
- 25. PHPはperlのような行拡張マクロを持っていますか? __LINE__
- 26. 私はそうのような機能を有するパラメータ
- 27. インターフェイスで機能しない拡張メソッド
- 28. はChromeの拡張機能
- 29. はChromeの拡張機能
- 30. は、Firefoxの拡張機能