JavaScript метод is()
JavaScript ObjectОпределение и применение
JavaScript метод is() возвращает логическое значение, которое определяет являются ли два переданных значения одинаковыми. Если значения являются одинаковыми, то возвращаемое значение будет true, в противном случае false.
Переданные значения являются одинаковыми в следующих случаях:
- оба значения равны undefined.
- оба значения равны null.
- оба значения равны true, либо оба значения равны false.
- оба значения являются строками с одинаковой длиной и одинаковыми символами.
- оба значения являются одним и тем же объектом.
- оба значения являются числами и имеют одинаковое значение.
- оба значения являются числами и равны +0, или оба значения являются числами и равны -0.
- оба значения равны NaN
Обращаю Ваше внимание, что метод is() не аналогичен использованию оператора ==. В отличие от метода is() оператор == перед проверкой на равенство использует приведение типов обоих операндов (если они имеют различный тип).
Например:
"" == false; // возвращаемое значение true Object.is( "", false ); // возвращаемое значение false
Кроме того, метод is() не аналогичен использованию оператора ===. Например, оператор ===, как и оператор == считает числовые значения -0 и +0 равными, а значение NaN не равным самому себе:
-0 == +0; // возвращаемое значение true -0 === +0; // возвращаемое значение true Object.is( -0, +0 ); // возвращаемое значение false NaN == NaN; // возвращаемое значение false NaN === NaN; // возвращаемое значение false Object.is( NaN, NaN ); // возвращаемое значение true
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
is() | 30.0 | 22.0 | Да | 9.0 | Нет | Да |
JavaScript синтаксис:
// копирование из одного исходного объекта Object.is( value1, value2 );
Версия JavaScript
ECMAScript 2015 (6th Edition, ECMA-262)Значения параметров
Параметр | Описание |
---|---|
value1 | Первое сравниваемое значение для проверки. Обязательное значение. |
value2 | Второе сравниваемое значение для проверки. Обязательное значение. |
Пример использования
let obj = {a:1}, // инициализируем переменную содержащую объект a = obj, b = obj; Object.is( a, b ); // возвращаемое значение true Object.is( undefined, undefined ); // возвращаемое значение true Object.is( null, null ); // возвращаемое значение true Object.is( true, true ); // возвращаемое значение true Object.is( "hello world", "hello world" ); // возвращаемое значение true Object.is( 777, 777 ); // возвращаемое значение true Object.is( +0, +0 ); // возвращаемое значение true Object.is( NaN, NaN ); // возвращаемое значение true Object.is( NaN, 0/0 ); // возвращаемое значение true Object.is( [], [] ); // возвращаемое значение false Object.is( {}, {} ); // возвращаемое значение false Object.is( "a", "A" ); // возвращаемое значение false Object.is( true, false ); // возвращаемое значение false Object.is( -0, +0 ); // возвращаемое значение falseJavaScript Object