Обложка канала

Frontender's notes

Годные заметки, новости, видео и интересные статьи для Frontend разработчиков.

Frontender's notes

4 года назад
Открыть в
Оператор ~ (побитовое не) Мы на практике не особо часто юзаем побитовые операторы, а некоторые из нас возможно только сейчас узнали что такие вообще бывают, но конкретно для этого оператора есть сценарий для использования в повседневных задачах. Оказывается, при использовании с числом, оператор выполняет ~N => -(N+1).  Значение этого выражения равно “0” только тогда, когда N == -1. Поместив ~ перед функцией indexOf(...), мы можем выполнить булевую проверку наличия элемента в String или в Array без приравнивания к -1. Теперь наглядно: const str = 'Alesha Popovich'; ❌ if (str.indexOf('Alesha') !== -1) return true;if (~str.indexOf('Alesha')) return true; Как мы видим такая конструкция чуть короче ❗P.S. Я знаю, про метод .includes(), но indexOf() встречается еще пока довольно часто что-бы про него забыть