真実と偽善(http://adripofjavascript.com/blog/drips/truthy-and-falsy-values-in-javascript.html)の多く、特にJavaScriptの '=='と '==='の違いをよく読んでいます。主に、このスタックオーバーフローの質問から最高の説明や資源:フォーム処理のために隠しフィールドにブール値を格納する
$('[name="fieldName"]').val(true);
Which equals operator (== vs ===) should be used in JavaScript comparisons?
私は、フォームに取り組んでいますが、次のjQueryの構文を使用して隠しフィールドにブール値を格納する必要があります
したがって、trueまたはfalseのブール値を非表示フィールドに挿入しています。スクリーン処理の間に、私は次のコードでif文の数は、このフィールドの値を取得し、次のようにそれを比較:私はと比較する===演算子を使用していますか
$('[name="fieldName"]').val() === "true"
注意を文字列値「true」
私の質問; JavaScriptのObjectだけがreference型である場合、booleanは値型でなければなりません。私はしたがって、===演算子との値の比較は、上記の式がfalseを返すはずのコンテンツだけでなく型を比較すると仮定します。しかし、私のコードではそれは真実を返します - なぜ誰がこれを説明することができますか?
このコードは以前は==を比較に使用していましたが、可能な限り、私が実装している偽のリスクを避けるためです。それは私の値を変換するjQueryと関係がありますか?
比較するコード内の$ jは何ですか? –
タイプミス! @smailiに感謝します。 – coderwurst