Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

~ что значит этот символ в javascript?

#javascript


if (~e.origin.indexOf("https://example.com"))


Что значит данный символ ~ в этом поле?
    


Ответы

Ответ 1



Побитовое отрицание. Аргумент приводится к int32 (приводится к числу, дробная часть отбрасывается, число берётся по модулю 232 со знаком, NaN и бесконечности превращаются в 0), после чего все 32 бита инвертируются, давая новое число. indexOf возвращает позицию вхождения или -1 если вхождения нет. При инветрировании всех битов у числа -1 получается 0 - ложное значение. А из всех остальных значений (с учётом того, что длина строки не превосходит 231-1) будет получаться ненулевой истинный результат. Т. е. делается проверка, что вхождение есть.

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

Отправить комментарий