Что значит тройное равно в информатике

«Определение, эквивалентны ли 2 переменные, является одним из наиболее важных операций в программировании» — Nicholas Zakas.

Другими словами, в вашем скрипте вы можете написать так:

Или, если вы хотите писать хорошие скрипты, делайте так:

Разница между этими двумя примерами в том, что во втором примере используется тройное сравнение, которое по-другому называют «строгое равенство» или «тождественное равенство».

Начинающие программисты JavaScript могут использовать тройное сравнение вместо двойного, но, возможно, они не до конца понимают, почему так важно использовать тройное равенство.

В чем разница?

Если сравнение с помощью двойного равно, то результат будет true, если две переменные равны. Но есть одна важная загвоздка: если сравнение делается между двумя переменными различных «типов», произойдет приведение типов.

Каждое значение JavaScript имеется свой специальный тип. Типы бывают: число, строка, булевый тип, функция, и объект. Поэтому, если вы попытаетесь сравнить строку с числом, браузер попытается конвертировать строки в число до того, как произойдет сравнение. Аналогично, если сравнение true и false с числом, true и false будут конвертированы в число 1 и 0 соответственно.

Это может привести к неожиданным результатам. Приведем несколько примеров:

Хотя это первоначально и может выглядеть правильно, это может привести к некоторым проблемам. Для примера:

В таких случаях большинство JavaScript экспертов рекомендуют всегда использовать тройное равенство и никогда не использовать двойное.

Оператор тройного сравнения никогда не делает приведение типов. Поэтому, когда вы используете тройное сравнение, вы сравниваете фактические значения.

Это означает, что использование тройного равенство во всех случаях выше вернуло бы правильный результат:

Что насчет неравенства?

При выполнении оператора не-равно к выражению, применяются те же правила. Только на этот раз, нужно использовать двойные равно против одного.

Читайте также:  Палисадник около дома в деревне

Вот несколько примеров с использованием оператора !=.

Заметьте, что везде вернулась обращенное значение true, т.к. произошло приведение типов.

Если мы изменим двойное равенство на тройное, мы получим правильные результаты:

Заключение

Как уже упоминалось, вы, вероятно, уже использовали тройное равно, но повторить заново всегда полезно. При изучении данной статьи, я сам узнал об этой концепции много нового.

Вот, что говорит Zakas о тройном равенстве: «. Это помогает поддерживать целостность данных типа во всем коде».

«Определение, эквивалентны ли 2 переменные, является одним из наиболее важных операций в программировании» — Nicholas Zakas.

Другими словами, в вашем скрипте вы можете написать так:

Или, если вы хотите писать хорошие скрипты, делайте так:

Разница между этими двумя примерами в том, что во втором примере используется тройное сравнение, которое по-другому называют «строгое равенство» или «тождественное равенство».

Начинающие программисты JavaScript могут использовать тройное сравнение вместо двойного, но, возможно, они не до конца понимают, почему так важно использовать тройное равенство.

В чем разница?

Если сравнение с помощью двойного равно, то результат будет true, если две переменные равны. Но есть одна важная загвоздка: если сравнение делается между двумя переменными различных «типов», произойдет приведение типов.

Каждое значение JavaScript имеется свой специальный тип. Типы бывают: число, строка, булевый тип, функция, и объект. Поэтому, если вы попытаетесь сравнить строку с числом, браузер попытается конвертировать строки в число до того, как произойдет сравнение. Аналогично, если сравнение true и false с числом, true и false будут конвертированы в число 1 и 0 соответственно.

Это может привести к неожиданным результатам. Приведем несколько примеров:

Хотя это первоначально и может выглядеть правильно, это может привести к некоторым проблемам. Для примера:

Читайте также:  Съемник подшипников передней ступицы

В таких случаях большинство JavaScript экспертов рекомендуют всегда использовать тройное равенство и никогда не использовать двойное.

Оператор тройного сравнения никогда не делает приведение типов. Поэтому, когда вы используете тройное сравнение, вы сравниваете фактические значения.

Это означает, что использование тройного равенство во всех случаях выше вернуло бы правильный результат:

Что насчет неравенства?

При выполнении оператора не-равно к выражению, применяются те же правила. Только на этот раз, нужно использовать двойные равно против одного.

Вот несколько примеров с использованием оператора !=.

Заметьте, что везде вернулась обращенное значение true, т.к. произошло приведение типов.

Если мы изменим двойное равенство на тройное, мы получим правильные результаты:

Заключение

Как уже упоминалось, вы, вероятно, уже использовали тройное равно, но повторить заново всегда полезно. При изучении данной статьи, я сам узнал об этой концепции много нового.

Вот, что говорит Zakas о тройном равенстве: «. Это помогает поддерживать целостность данных типа во всем коде».

Лучше всего почитать объяснение в официальной документации .

Оператор равенства == сравнивает две переменные с приведением типов, если это необходимо. Если 2 операнда имеют разный тип, они приводятся к одному, и затем сравниваются.

Оператор идентичности === проверяет, являются ли переменные равные и при этом имеют одинаковый тип. То есть, грубо говоря, если у операндов будет разный тип, то === сразу же вернёт false, не будет даже смотреть на их значения.

Я составил таблицу, которая наглядно демонстрирует, как 2 переменные соотносятся друг с другом.

‘===’ означает, что они считаются идентичными.
‘==’ означает, что они считаются равными.
‘!=’ означает, что они не считаются равными.

Оставьте ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *