いつも何も考えずに==を使ってしまいがちですが、僕がずっと使っているIDE NetBeansでは、===を使えと警告してくれます。 この違いって何でしょうか? ==と===の違い まず、文字と数値の比較実験 var a = "1"; var b = 1; console.log(a==b); 結果:true console.log(a===b); 結果:false それぞれの演算子についてここで調べてみると、それぞれ機能が違うことがわかります。 == 等価演算子 数値と文字列を比較するとき、文字列は数値に変換されます。JavaScript は文字列の数値リテラルを Number 型の数値に変換しようと試みます。最初に、その文字列の数値リテラルから数学的な値を引き出します。次に、最も近い Number 型の値にこの値を丸めます。 つまり==は、文字列と数値の比較の場合、文字列を数値に変換して
![JavaScript 忘れがちな === と == の違い - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ef99d48422be465dbb8d85324697a3bfe429baff/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SmF2YVNjcmlwdCUyMCUyMCVFNSVCRiU5OCVFMyU4MiU4QyVFMyU4MSU4QyVFMyU4MSVBMSVFMyU4MSVBQSVFMyU4MCU4MCUzRCUzRCUzRCUyMCVFMyU4MSVBOCUyMCUzRCUzRCUyMCVFMyU4MSVBRSVFOSU4MSU5NSVFMyU4MSU4NCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9M2E0N2Q5ZjdlZTY4NTZjNzNhZDEwNGUyYzQwOGFkZDc%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBQaWFub1Njb3JlSlAmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWRiN2Y0ZTljYzkzOWMyZTkyN2Q0NDEwYzhjOTJjOGYy%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D877873afa82f513079c865b43c77d4b4)