Hello, I met the code, I can not understand the use of the bitwise operator ~ in checking for the presence of a substring in a string.
/*Создайте функцию addClass(obj, name), которая добавляет в список класс name, но только если его там еще нет*/ function addClass(obj, name) { var classes = (obj.className) ? obj.className.split(' ') : []; if (~obj.className.indexOf(name) !== -1) classes.push(name); obj.className = classes.join(' '); }