問題タブ [triple-equals]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - phpunitで厳密なequals/triple equals比較を行うにはどうすればよいですか?
phpunitで===/strict equals比較を行うにはどうすればよいですか?
javascript - Javascript イディオム: if (x === +x) は何をしますか?
Iのソース コードを読んでいると、次の行underscore.js
に出くわしました。
それは私にとって少し混乱しています。ここで実際に比較されているのは何ですか?ネイティブ配列の検出に関係があると思いますが、実際に何が起こっているのかわかりません。は何をし+
ますか?===
の代わりに==
使用する理由 このスタイルのパフォーマンス上の利点は何ですか?
javascript - JavaScript トリプルイコールと 3 変数比較
誰かがこれを説明できますか?
また、この方法で2つ以上の数値を比較するブール論理の名前はありますか(私はそれを「3変数比較」と呼びましたが、それは間違っていると思います...)
javascript - if(window.location == 'x') で == を === に変更すると、ブロックが実行されなくなります
==
の代わりに が使用されているコードをチェックしていますが、次の===
行を変更しています。
これに:
ブロックが実行されなくなります。
正しいアプローチは何ですか?
javascript - JavaScript で 'hello' == ('hello' 以外の true を返すもの)?
==
JavaScriptでは型強制との比較であることを理解しています。そして、次のステートメントが次のとおりであることを知っていますtrue
。
ただし、左側の「こんにちは」との比較が真であるとは言えません。
true
「こんにちは」以外の結果と比較できる「こんにちは」はありますか?
javascript - Javascript 比較 == null 代替
JavaScript コードでは、次の if ステートメントの double-equals 構造を置き換えたいと考えています。
double equals は、jshint ルール "eqeqeq" では失敗します。この場合、double equals を triple equals に置き換えることが推奨されます。== null
少しの間、上記のコードが次のように変更されたと想像してみましょう=== null
。
これは、値を持つ明示的に定義された変数に対しては機能しますnull
が、残念ながら、このような未設定の変数に対しては失敗します。
以前は、3 等号のルールが重要だったときに、次のようにしていました。
しかし、これは非常に肥大化しています。
私が今思いつくことができる最善の代替手段は、if ステートメントの性質を使用し、式を否定して単純にその== null
部分を削除する次のような false っぽい式に評価させることです。
私にとって、これははるかに単純で読みやすく、明示的な等号比較を完全に回避します。ただし、ここで見逃しているエッジの原因があるかどうかはわかりません。
問題は、一般的に== null
if 文の否定式に置き換えることができるかということです。もしそうなら、それがうまくいかない落とし穴と例外は何ですか? 一般的な配列項目、文字列、オブジェクト プロパティで機能しますか?
ソリューションを選択するための私の基準は
- きれいなコード
- 読みやすく、すぐに理解できる
- jshint ルールを検証します
- 最新のブラウザーで動作します (2015 年 1 月現在)
等値演算子==
vs===
の違いを議論するための他のわずかに関連する質問を認識していますが、これは単に if ステートメント内の null っぽいものと比較した評価の議論のためのものです。
javascript - 関数呼び出しでの === の意味
私は、EcmaScript 2017 に簡単に移行できると想定して ES6 を試していました。
途中で、このコードについて混乱しました
ES5に相当するもの
そこからデフォルトのパラメーターのことを理解しました。
しかしf(1)===50
、両方のコードの意味は何ですか? それの使用は何ですか?
ここに別の例があります
とはf(1, 2, "hello", true, 7) === 9
どういう意味ですか?
===
値だけでなく、両方のタイプを含む演算子の LHS と RHS を比較することを理解しています。
しかし、なぜそれがそのように使用されたのですか??
その使用法を親切に説明してください。
これは私がこれを入手したリンクです。http://es6-features.org/#RestParameter