![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Доброе время суток.
Недавно, разбирая код, наткнулся на то, что раньше не видел... А именно то, что в условии if, сравнение 2-ух значений с помощью ===.
Так вот, что это за сравнение и чем собственно оно отличается от сравнения == ? Объясните мне пожалуйста на простом русском языке, что означает === ? Зачем оно нужно если можно просто использовать typeof ? Существует ли подобное в других языках программирования ? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
t77, Это "равно, и такого-же типа".
Наиболее выразительный пример - из документации по strpos
своими словами, из за "автоматического приведения" такие конструкции 0==false ''==false 0=='' всегда выдают истину. Чтобы не писать проверку по типам, считается более правильным придумать новую операцию. Такое есть еще и в JavaScript, вероятно и в других языках без явного контроля типов. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
То что такое есть и в PHP я понял...
А вот объяснение
несовсем... Получается что сравнение по типам идентично === ? И еще если можно пример на JavaScript... Спасибо. |
|||
|
||||
| underW |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 22.9.2008 Репутация: 2 Всего: 3 |
=== идентично сравнению по значению и по типу. Это сообщение отредактировал(а) underW - 20.4.2009, 11:46 |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
не совсем. оператор === сравнивает не только по типу, но в первую очередь по значению.
Выдаст false. Можно сказать, что === представляет собой следующую функцию:
|
||||
|
|||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
Очень хорошие и ясные объяснения.
Теперь все ясно! Спасибо большое. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
Напоминание на будущее: если вопрос решен, справа вверху есть ссылка "Пометить как решённый" - следует не забывать ею пользоваться ;)
|
|||
|
||||
| t77 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 27.7.2008 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |