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

111
17 марта 2021, 08:10
if (~e.origin.indexOf("https://example.com"))

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

Answer 1

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

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

READ ALSO
Частичная инициализация вектора

Частичная инициализация вектора

Для последовательной инициализации элементов в вектор их можно добавлять через push_back и emplace_backА что если есть некоторая перестановка индексов,...

92
вывести auto в конструкторе класса

вывести auto в конструкторе класса

Я пытаюсь вывести тип поля класса в конструкторе следующим образом:

92
Как правильно создать и вывести список?

Как правильно создать и вывести список?

Задание звучит так: Представить таблицу в виде линейного списка L, элементами которого являются строки таблицы: №, Фамилия, Оценки (Физика,...

83
Получить user data в Hook Proc

Получить user data в Hook Proc

Я имею класс следующего вида:

102