予期しない取得 "。"このコードでjslint(http://jslint.com/)から:なぜ「予期しない」。括弧内のデフォルト値の演算子
function test(foo) {
"use strict";
return (foo || "").replace("bar", "baz");
}
なぜjslintは、との問題を抱えているん||演算子は空の文字列を強制して、fooがundefinedとして渡された場合にエラーを起こさずに置換を実行できるようにします。
これは渡し:
function test(foo) {
"use strict";
var xFoo = (foo || "");
return xFoo.replace("bar", "baz");
}
を私はそれがベースの意見を知っていると私はなど、それを無視することができます...しかし、このように連鎖するが眉をひそめている理由を理解しようとしています。 eshintについても知っていますが、私はこのメッセージを回避しようとしているわけではありません。理由を理解したいだけです。
余分な変数(xFoo)を必要としないため、最初のアプローチのように見えますが、より簡潔で洗練されています。
両方の機能は、すべての条件下で全く同じことを行います。
JSLintのバグのようです。 – SLaks
[jsHint](http://jshint.com/)には、最初の機能に問題はありません。 – jfriend00
これはバグのようです。意見に基づいている場合、あなたの糸くずの構成に基づいて眉をひそめていることを明示する別のエラーが表示されます。 – mostruash