2014-10-29 3 views
0

В JavaScript естьЯвляются ли эти сравнения эквивалентными в Javascript?

return (someBooleanValue == true) 

обязательно всегда совпадает с

return someBooleanValue 

?

+0

Нет, попробуйте, например. '[1]' или [любой из них] (http://stackoverflow.com/search?q=%22==+true%22+javascript) – Bergi

+0

http://stackoverflow.com/questions/7615214/in- javascript-why-is-0-equal-to-false-but-not-false-by-yourself – epascarello

+1

Что такое 'someBooleanValue'? Предполагаем ли мы, что * * является булевым значением? Может ли быть когда-нибудь еще? –

ответ

1

Iff someBooleanValue - логическое значение, то да. Для любого другого объекта/значения, то нет.

+0

Ну, есть много объектов, которые будут вести себя как булевы объекты? – Bergi

+1

Почему у этого есть понижение? OP сказал (в комментарии), что он работает с булевым, следовательно, 'someBooleanValue'. –

+0

Вопрос был: «обязательно всегда то же самое, что и». Абстрактные другие типы, которые ведут себя как булевые объекты, кажутся мне недоступными. –

1

Если предположить, что typeof someBooleanValue является 'boolean', то Да они эквивалентны (чисто булевой логики).

Для всего остального это не так.

Смежные вопросы