2015-11-22 3 views
3

Это очень простой вопрос, я знаю, но я не мог понять, что происходит с Google и Stack Overflow.Могу ли я использовать тройные равенства для сравнения строк в JavaScript?

Я искал here и here, чтобы узнать, как сравнивать строки в JavaScript. Ни три упомянутых тройки не равны (===) в своих ответах, и сказали, что лучше использовать свою собственную функцию (str1 < str2 ? -1 : str1 > str2).

Однако, используя пояснения о === в переполнении стека (here и here), ответы содержат сравнения строк. Из того, что я видел в этих ответах, === действительно работает для сравнения строк, так почему он не был включен в ответы сравнения строк?

Я просто пытаюсь расширить свои знания в JavaScript.

Спасибо за понимание!

+4

Да, '===' может сравнивать две строки, давая в результате «истину» или «ложь». Другие примеры, которые вы видели, касались сравнения строк при сортировке * их списков. – Pointy

+0

Вы правы. Благодаря! – Neta

+0

Я не думаю, что у вас есть преимущество в использовании '===' вместо '==' при сравнении того, что вы ЗНАЕТ, будут строками. '===' обычно для сравнения вещей, которые будут иметь несколько типов. IE. ''0'! == 0'. Я предполагаю, что '==' также быстрее, но я очень ленив, чтобы найти вам тесты, чтобы поддержать это. – Rooster

ответ

0
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."); 
} 

== сравнивает значение, но === сравнивает значение, а также типа. === может использоваться как сравнение строк, но если вы уверены, что вы просто сравниваете строку, то должно быть достаточно ==. === - лучший выбор.

+0

Спасибо за пример, но я знаю, в чем разница между '===' и '==', это не мой вопрос. – Neta

0

Вы можете использовать оба метода для сравнения строк, это просто, что вы используете ===, когда хотите сравнить значение И тип. что еще ваш запрос?