1

===は 2 つの値を比較し、型が同じであることを確認しますが、型は==気にしません。==私が間違って覚えていなければ、本の中で「JavaScript の良い部分」は「悪の双子」と呼ばれています。

==の代わりに使用する必要がある場合のユースケースの例を挙げていただけます===か?

4

6 に答える 6

0

あなたは具体的に例を求めているので、説明ではありません...私の最も一般的なユースケース===は次のようなものです:

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');
}

怠惰な方法ですが、かなりうまく機能します。実際には、通常、 を使用する必要はほとんどなく、 を使用する必要がある==可能性がはるかに高くなります。===

于 2013-01-30T07:53:48.940 に答える
0

ほとんどの場合、===and!==演算子を使用する方が適切です。

==and演算子は!=、たとえば型強制を行います。文字列を強制的に数値として評価します。

そして の場合===、文字列「1」は数値 1 と同じではないため、結果は false になります。

こちらご覧ください。

于 2013-01-30T07:55:08.710 に答える
0

あなたの質問、強調してください:

...代わりに使用する必要がある場合のユースケースの例を挙げていただけますか?=====

これは一種の負荷の高い質問です。==他のコードと組み合わせることでエミュレート===できます。それができる限り、本当に「必要」になることはありません==。これは、「必要」なケースを尋ねるようなものです++。おそらく、 として書きたいからですfoo += 1

あなたのタイトルは、より実践的な質問をします:

js で === の代わりに == を使用することをお勧めするのはいつですか?

==withの動作をエミュレートしていることに気付いたときはいつでも===、おそらく単に を使用する必要があります==。これには、操作の両側を同じ型に変換してから と比較するほとんどの場合が含まれます===。それがその==ために作られたものです。なぜそれを使用しないのですか?

于 2013-01-30T09:10:21.467 に答える
0

値と型の両方を確認する場合は、 を使用します===。値のみを確認する場合は、==

JavaScript の比較演算子の詳細については、

于 2013-01-30T07:48:37.947 に答える