Для чего нужен оператор"==="?

Я однажды столкнулся с оператором "===". Но я не помню, что это было.. или где мы его используем .. или есть такой оператор ? где он используется ??

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

работает, как ожидалось.