От первого html тега, до SEO оптимизации порталов
Украина
+380 63 85 62 538
admin@sozdaj-sam.com

Оператор равенства в javascript

Операторы равенства в javascript

Оператор равенства в javascript

Когда мы пишем оператор if, чтобы проверить, что одна переменная равна другой мы используем двойной знак равенства == оператор сравнения.

В примере выше, если содержимое переменной а и содержимое переменной d окажется равным мы выполняем все то, что указано в фигурных скобках. Но на начальных этапах изучения javascript многие допускают ошибки при использовании условий равенства, и сегодня мы поговорим о возможных ошибках и их устранении.

Давайте для примера создадим пару переменных и присвоим им значение при  помощи знака =

Я осознанно использовал одиночный знак = вместо двойного. Но теперь у нас проблема, давайте разберемся в чем она. Интерпретатор дойдя до оператора if прочитает в скобках выражение, как присваивание переменной а значение переменной b. И конечно такая успешная операция будет считаться истинной и код внутри фигурных скобок будет выполняться всегда, но мы ведь знаем, что это не истина и 5 далеко не равно 10! Запомните то, о чем я уже неоднократно упоминал, одиночный знак = это оператор присваивания! А вот уже == двойной знак равно, это оператор равенства. Но есть еще тройной знак равенства === и это строгое сравнение. Тройной знак равенства присутствует только у языков программирования javascript и php.

Что такое оператор строго равенства (===) и просто оператор равенства (==), для этого рассмотрим еще одной пример:

Запускаем веб страницу и получаем сообщение, что они равны. Давайте разберемся, что же произошло. В условии я использовал двойной знак равенства и хотя в переменных разного типа данные, но учитывая гибкость языка js он сравнивает их значения и находит равными. Но теперь давайте изменим двойной знак равенства на тройной:

В этом примере мы получим сообщение, что переменная а и б не равны! А все потому, что этот оператор смотрит не только значение переменной, но и ее тип, а в нашем случае типы разные у приведенных переменных. Большое количество авторов рекомендуют использовать тройной знак равно в написании кода кода javascript, я еще не на столько опытен, чтобы советовать вам, но думаю нужно смотреть по ситуации, если нужно строгое равенство ставим три равно, ели нет, тогда два.

Все операторы равенства или не равенства в javascript

  • if (a == b) {… — условие простого равенства
  • if (a == b) {… — условие простого не равенства
  • if (a === b) {… — условие строгого равенства
  • if (a !== b) {… — условие строгого не равенства

Все эти операторы, если записываются более чем одним символом не разделяются пробелом, они не делимы.

Логические и или в javascript

Скажем у нас есть 4 переменные и нам нужно их сравнить, мы могли бы использовать два оператора if, но можно сделать и как в примере выше. В первой строке стоит строгое сравнение переменных a и b, и разделяется оператором &&, что обозначает и! То есть если первые две переменные строго равны и вторые тоже, только тогда начнет выполняться какой-то условный код.

Во второй строке ситуация аналогична, только вместо оператора && стоит ||, что обозначает логическое или! То есть достаточно, чтобы была истина в первой или второй части условия! Следует заметить, что для удобства можно заключать отдельные части условий в скобки:

Это не обязательно делать, но если условия большие, это придаст гибкости и читаемости вашему коду.

 

  1. Javascript даётся мне не просто. Но благодаря Вашим статьям обучение идёт лучше. Спасибо за Ваши статьи!

  2. uglionuglion10-06-2015

    Надо же, про тройной знак равенства я и не знал. Да, это было бы полезно в некоторых случаях. Яваскрипт хороший язык, простая лексика, всё интуитивно понятно. Лично мне не хватает нормального отладчика кода. Ну то есть у меня его вообще нет, просто пишу код в блокноте и потом смотрю, как он работает. Но в случае сложных проектов этого будет, конечно, недостаточно.

  3. НатальяНаталья12-02-2015

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

Написать ответ

© 2016 Андриевский Андрей
Украина, город Киев
Тел: (063) 856-2538
E-Mail: admin@sozdaj-sam.com
Web: https://sozdaj-sam.com/