| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > === что это и для чего оно нужно? |
| Автор: t77 20.4.2009, 09:50 | ||
| Доброе время суток. Недавно, разбирая код, наткнулся на то, что раньше не видел... А именно то, что в условии if, сравнение 2-ух значений с помощью ===.
Так вот, что это за сравнение и чем собственно оно отличается от сравнения == ? Объясните мне пожалуйста на простом русском языке, что означает === ? Зачем оно нужно если можно просто использовать typeof ? Существует ли подобное в других языках программирования ? |
| Автор: ksnk 20.4.2009, 10:13 | ||
| t77, Это "равно, и такого-же типа". Наиболее выразительный пример - из документации по strpos
своими словами, из за "автоматического приведения" такие конструкции 0==false ''==false 0=='' всегда выдают истину. Чтобы не писать проверку по типам, считается более правильным придумать новую операцию. Такое есть еще и в JavaScript, вероятно и в других языках без явного контроля типов. |
| Автор: t77 20.4.2009, 10:25 | ||
| То что такое есть и в PHP я понял... А вот объяснение
несовсем... Получается что сравнение по типам идентично === ? И еще если можно пример на JavaScript... Спасибо. |
| Автор: underW 20.4.2009, 11:19 | ||
=== идентично сравнению по значению и по типу. |
| Автор: Aliance 20.4.2009, 12:10 | ||||
не совсем. оператор === сравнивает не только по типу, но в первую очередь по значению.
Выдаст false. Можно сказать, что === представляет собой следующую функцию:
|
| Автор: t77 20.4.2009, 13:05 |
| Очень хорошие и ясные объяснения. Теперь все ясно! Спасибо большое. |
| Автор: Aliance 20.4.2009, 13:15 |
| Напоминание на будущее: если вопрос решен, справа вверху есть ссылка "Пометить как решённый" - следует не забывать ею пользоваться ;) |
| Автор: t77 20.4.2009, 13:20 |
| |