«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг. Создание сайтов Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Выбрать тему для сайта! Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Как известно символ «=» (знак равно) в Javascript означает «присвоить».

А символ «==» (два знака равно) - это оператор проверки равенства или неравенства различных типов данных. Именно об операторе равенства будет идти речь на этой странице и о том, как происходит преобразование типов в Javascript.



Два значения относятся к одному типу

Сначала рассмотрим пример, когда два сравниваемых значения относятся к одному типу (строка и строка, число и число и т.д.).

Фрагмент кода

var x = 1;
var y = 2;

if (x == y){
console.log(true);
}
else{
console.log(false);
}

var a = "Эхх...";
var b = "Эхх...";


if (a == b){
console.log(true);
}
else{
console.log(false);
}

Результат

Здесь все просто: два числа либо равны, либо нет. Со строками тоже: если набор символов в них совпадает, то они равны.

Два значения относятся к разным типам - Число и Строка

Как сравнить два операнда, если они относятся к разным типам?

Javascript имеет набор правил, согласно которым происходит преобразование типов (это когда одно из сравниваемых значений преобразовывается к типу другого значения, после чего происходит их сравнение).

Итак, начнем с самого простого: сравнение чисел и строк. При этом Javascript преобразует строку в число.

Фрагмент кода

var x = 99;
var y = "99";

if (x == y){
console.log(true);
}
else{
console.log(false);
}

Результат

Сравнение числа и строки

- - - - - - - - - - консоль браузера - - - - - - - - - -

true

При таком сравнении Javascript стремиться преобразовать строку в число. После этого сравниваются числа.

Число и Строка - NaN

Рассмотрим другую ситуацию сравнения чисел и строк.

Если Javascript не удается преобразовать строку в число, то в результате от выдаст NaN.

Фрагмент кода

var x = 99;
var y = "Эхх...";

if (x == y){
console.log(true);
}
else{
console.log(false);
}

Результат

Здесь при преобразовании типов строку не удается привести к числовому значению, поэтому Javascript считает ее «не числом», т.е. NaN. При сравнении числа с NaN Javascript выдает false.

Булевы значения и числа

Для начала сравним булево значение с числом.

Следует знать: при сравнении булевых значений с другими типами данных булево значение всегда преобразуется в число.

Здесь важно запомнить правило: true преобразуется в 1, false в 0.

Фрагмент кода

var x = 1;
var y = true;

if (x == y){
console.log(true);
}
else{
console.log(false);
}

Результат

Булево значение и число

- - - - - - - - - - консоль браузера - - - - - - - - - -

true

Булевы значения и строки

Сравним булево значение со строкой. При этом имеют место два преобразования. Рассмотрим пример и далее пояснения.

Фрагмент кода

var x = "1";
var y = true;

if (x == y){
console.log(true);
}
else{
console.log(false);
}

Результат

Булево значение и строка

- - - - - - - - - - консоль браузера - - - - - - - - - -

true

При сравнении булевых значений со строками преобразование типов в Javascript происходит следующим образом:

  • Шаг 1 - Булево значение «превращается» в число.

  • Шаг 2 - Строка «превращается» в число, либо в NaN.

  • Шаг 3 - Сравнение двух чисел либо числа с «не числом».

По перечисленным выше правилам сравнения и преобразования типов можно правильно определить результат проверки любого равенства.

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

Сравнение null и undefined. Пустая строка и число

1. Что дает сравнение null и undefined?

2. Каков результат проверки равенства пустой строки и числа?

Комментарии...

  • сравнение null и undefined: хотя это разные значение (об этом здесь), но в сравнении они дают результат true, так как оба «говорят» об одном и том же - «отсутствие значения» (т.е. отсутствующий, не имеющий значения, объект и переменная без значения).

  • Что касается сравнения пустой строки с числом, то первая в процессе преобразования дает 0, который в сравнении с любым числом выдаст false.

Если же сравнивать NaN с null или с undefined, то оба результата ЛОЖНЫ - false, так как NaN, как известно, не равно даже самому себе.

Итак, эта заметка была о том, как при помощи оператора проверки равенства «==» (два знака равно) происходит сравнение различных типов данных в Javascript.

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Это нужно знать
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки