===
は 2 つの値を比較し、型が同じであることを確認しますが、型は==
気にしません。==
私が間違って覚えていなければ、本の中で「JavaScript の良い部分」は「悪の双子」と呼ばれています。
==
の代わりに使用する必要がある場合のユースケースの例を挙げていただけます===
か?
===
は 2 つの値を比較し、型が同じであることを確認しますが、型は==
気にしません。==
私が間違って覚えていなければ、本の中で「JavaScript の良い部分」は「悪の双子」と呼ばれています。
==
の代わりに使用する必要がある場合のユースケースの例を挙げていただけます===
か?
あなたは具体的に例を求めているので、説明ではありません...私の最も一般的なユースケース===
は次のようなものです:
function isFoo(val) {
if(val) // checks val 'exists'
{
return (val == 'foo'); // returns true or false
}
//'returns' undefined
}
var checkResult = isFoo('bar');
if(checkResult === true) {
alert('The value is foo');
}
else if(checkResult === false) {
alert('The value exists, but is not foo');
}
else { // result was undefined
alert('No value was provided, or it was null/undefined/false');
}
怠惰な方法ですが、かなりうまく機能します。実際には、通常、 を使用する必要はほとんどなく、 を使用する必要がある==
可能性がはるかに高くなります。===
ほとんどの場合、===
and!==
演算子を使用する方が適切です。
==
and演算子は!=
、たとえば型強制を行います。文字列を強制的に数値として評価します。
そして の場合===
、文字列「1」は数値 1 と同じではないため、結果は false になります。
こちらもご覧ください。
あなたの質問、強調してください:
...代わりに使用する必要がある場合のユースケースの例を挙げていただけますか?
==
===
これは一種の負荷の高い質問です。==
他のコードと組み合わせることでエミュレート===
できます。それができる限り、本当に「必要」になることはありません==
。これは、「必要」なケースを尋ねるようなものです++
。おそらく、 として書きたいからですfoo += 1
。
あなたのタイトルは、より実践的な質問をします:
js で === の代わりに == を使用することをお勧めするのはいつですか?
==
withの動作をエミュレートしていることに気付いたときはいつでも===
、おそらく単に を使用する必要があります==
。これには、操作の両側を同じ型に変換してから と比較するほとんどの場合が含まれます===
。それがその==
ために作られたものです。なぜそれを使用しないのですか?
値と型の両方を確認する場合は、 を使用します===
。値のみを確認する場合は、==
JavaScript の比較演算子の詳細については、