JavaScriptのトリプル等号とダブル等号–比較演算子を例で説明

JavaScriptで二重および三重の等号を見たことがあるかもしれません。しかし、それらはどういう意味ですか?

つまり、==本質的に型を変換し、型を変換し===ません。

Double Equals(==)は、値が等しいかどうかのみをチェックします。それは本質的に型強制を行います。これは、値をチェックする前に、変数のタイプを互いに一致するように変換することを意味します。

一方、Triple Equals(===)は型強制を実行しません。比較される変数が同じ値同じタイプの両方を持っているかどうかを検証します。

OK-では、いくつかの例を通して違いをよりよく理解できるようにしましょう。これらのそれぞれについて、これらのステートメントの出力がどうなるかを検討してください。

例1:

const foo = "test" const bar = "test" console.log(foo == bar) //true console.log(foo === bar) //true 

値との両方のタイプfoobar同じです。したがって、結果はtrue両方に当てはまります。

例2:‌

const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false 

numberと、stringNumberここに似ています。しかし、のタイプがnumberあるNumberとの種類stringNumberIS string。値は同じですが、タイプは同じではありません。したがって、==チェックはを返しますがtrue、値タイプをチェックする、値はfalseです。

例3:

console.log(0 == false) //true console.log(0 === false) //false 

理由:同じ値、異なるタイプ。型強制

これは興味深いケースです。0チェックしたときの値falseは同じです。ので、それはそうです0し、falseJavaScriptのための同じ値を持っていますが、種類をチェックするとき値ので、値がfalseで0あるnumberfalseされますboolean

例4:

const str = "" console.log(str == false) //true console.log(str === false) //false

空の文字列の値でありfalse、JavaScriptでも同じです。したがって、==trueを返します。ただし、タイプが異なるため、===falseを返します。

いつ使用する必要が==あり、いつ使用する必要があります===か?

疑わしい場合は、を使用してください===。これにより、潜在的なバグのトンからあなたを救うでしょう。

受信データのタイプについて少し寛大なユースケースをサポートしている場合は、を使用します==。たとえば、APIがクライアントから"true"との両方を受け入れる場合はtrue、を使用します==。つまり、==強力なユースケースがない限り、使用しないでください。

これは、参照用の便利なJavaScript真理値表であり、JavaScriptの同等性がいかに複雑であるかを示しています。

この記事を楽しんだら、ツイッターで私をフォローして最新情報を入手してください。

Q:英国がEUを離れると、どのくらいのスペースが解放されますか?

A:1 GB#DevJoke #NotAJoke

—シュルティ・カプール(@ shrutikapoor08)2019年10月4日