Могу ли я использовать тройные равенства для сравнения строк JavaScript?
Это очень простой вопрос, я знаю, но я не мог понять, что происходит с Google и Stack Overflow.
Я посмотрел здесь и здесь, чтобы узнать, как сравнивать строки в JavaScript. Ни одно из упомянутых тройных равных (===
) в своих ответах и сказал, что лучше использовать собственную функцию (str1 < str2 ? -1 : str1 > str2
).
Однако, проходя объяснения о ===
в переполнении стека ( здесь и здесь) ответы содержат сравнения строк. Из того, что я видел в этих ответах, ===
работает для сравнения строк, так почему же он не был включен в ответы сравнения строк?
Я просто пытаюсь расширить свои знания в JavaScript.
Спасибо за понимание!
2 ответа
var str1 = "1";
var str2 = 1;
if (str1 == str2) {
//Below code executes as it's true.
console.log("Yes, value of both are equal.");
}
if (str1 === str2) {
//Below code never executes as it's false.
console.log("No, both are not equal as type differs.");
}
==
сравнивает значение, но ===
сравнивает значение, а также тип.===
может использоваться для сравнения строк, но если вы уверены, что просто сравниваете строку, ==
должно быть достаточно. ===
это просто лучший выбор.
Вы можете использовать оба метода для сравнения строк, просто вы используете ===
когда вы хотите сравнить значение и тип. что еще ваш запрос?