Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

Object.is js

Object.is js

Всем привет сегодня мы рассмотрим новый метод , который добавила нам спецификация ES6, предназначений для сравнения двух значений. Итак поехали!

Все мы знаем что в js нет строгой типизации переменных и параметров , и из этого могут вытекать неприятные последствия. Поэтому проверять два значения на равенства рекомендуется через оператор эквивалентности ===, который сравнивает два аргумента не только по значению , но и по типу.

Рассмотрим следующие примеры таких сравнений:

console.log(+0 === -0); //true
console.log(NaN === NaN); //false
console.log(5 === '5');//false
console.log(undefined === undefined); //true

Как можно заметить и здесь не все гладко, в примерах где +0 === -0, NaN === NaN, нам вернулся не совсем тот результат который мы ожидали. И теперь в нашу игру вступает метод Object.is()

console.log(Object.is(+0 , -0)); //false
console.log(Object.is(NaN, NaN)); //true
console.log(Object.is(5 , '5'));//false
console.log(Object.is(undefined, undefined)); //true

На этот раз все наши ожидания насчет результатов были оправданны.

Но появление этого метода не означает закат операторов сравнения (==) и (===), поэтому вы можете пользоваться и старыми операторами, только помните что если корректность работы вашего кода зависит от особых случаев, то метод Object.is(), может стать для вас альтернативным решением.

Вот в принципе и все что я хотел рассказать вам про метод Object.is(). Пользуйтесь с умом! Удачи!

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm