私は約1週間同僚とこのトピックを議論してきました。私は、どこでも可能な限り、三角形などを使用して、簡略コードのファンです。最近、私は二重の感嘆の使用について私を拾ってきた。数多くのテストを実行した後、私は彼に同意し始めています...二重の感嘆符が私のコードで使用することは賢明ではないかもしれません。これを考慮してください:JSの二重の感嘆符 - それを使用する理由がありますか?
var myvar = "Hello";
return (!!myvar ? "Var is set" : "Var is not set");
上記の例は期待どおりに動作します。しかし、undefinedを返す可能性のある変数をチェックすると、特にIE7でエラーが発生します。
このアプローチを使用して、変数が定義されていない場合、それは静かに失敗し、:私たちは私たちのコンソールでこれを実行している場合我々は、しかし、私たちの期待される結果を取得します。これは私に二重の感嘆符の使用を全く疑わせる。実際にこのオペレータを有益にする状況はありますか?
を使用したい グレートの説明、それはまた、あなたがこのように、この演算子を使用するときことは注目に値します: (ウィンドウ。オブジェクト&&(obj1.function1 || obj.2function2))); これは、すべてのものに対して「変換を強制する」全体を拡張します。 convertallthethings.jpeg –