Для чего нужен оператор"==="?
Я однажды столкнулся с оператором "===". Но я не помню, что это было.. или где мы его используем .. или есть такой оператор ? где он используется ??
7 ответов
в PHP, JavaScript, ECMAScript, ActionScript 3.0 и ряде других подобных динамических языков существует два типа проверок равенства: == (нестрогое равенство) и === (строгое равенство). Чтобы показать пример:
5 == "5" // yep, these are equal, because "5" becomes 5 when converted to int
5 === "5" // nope, these have a different type
в основном, когда вы используете ==, вы рискуете автоматическое преобразование типов. Использование = = = гарантирует, что значения логически равны и типы объектов также равны.
В JavaScript ==
делает тип принуждения, в то время как ===
, оператор "строгого равенства" не делает. Например:
"1" == 1; // true
"1" === 1; // false
существует также соответствующий оператор строгого неравенства !==
.
его используется в JavaScript, PHP и может быть больше (с которыми я, возможно, еще не сталкивался!), он используется для сравнения, если обе сравниваемые вещи имеют одинаковый тип объекта, а также имеют одинаковое значение.
"===" оператор используется для проверки значения равны, а также одного типа.
пример
$a === $b if $a is equal to $b, and they are of the same type.
Он обычно проверяет, являются ли два объекта одинаковыми. то есть. не если они имеют одинаковое значение(ы), но если они действительно являются одним и тем же объектом.
=== это равенство, по крайней мере в PHP
вот ссылка это помогает объяснить thsi
в Ruby triple equals является оператором (неявно), используемым case/when
построить, чтобы определить, когда объект "попадает в" конкретный случай. Например, Ruby имеет понятие" диапазон " объектов;1..10
означает "все значения от 1 до 10 включительно"."Так `3 == 1..10 ' ложно, так как 3-это число, а 1..10 ряд. Но,
3 === 1..10
возвращает true, так как 3-это на этот диапазон.
case/when использует это при решении, которое случай аргументов принадлежит. Итак,
case a
when (1..10)
puts "This is a valid rating"
else
puts "invalid"
end
работает, как ожидалось.