JavaScript метод is()ECMAScript 2015

JavaScript Object

Определение и применение

JavaScript метод is()ECMAScript 2015 возвращает логическое значение, которое определяет являются ли два переданных значения одинаковыми. Если значения являются одинаковыми, то возвращаемое значение будет true, в противном случае false.

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

Обращаю Ваше внимание, что метод is()ECMAScript 2015 не аналогичен использованию оператора ==. В отличие от метода is()ECMAScript 2015 оператор == перед проверкой на равенство использует приведение типов обоих операндов (если они имеют различный тип).

Например:

"" == false;                     // возвращаемое значение true  
Object.is( "", false );    // возвращаемое значение false  

Кроме того, метод is()ECMAScript 2015 не аналогичен использованию оператора ===. Например, оператор ===, как и оператор == считает числовые значения -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
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
is()ECMAScript 201530.022.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 );      // возвращаемое значение false
JavaScript Object