Я проверял код respons.js в экспресс и наткнулся на этот код:Интерпретация яваскрипта кода - Тильда символ перед тройным IF оператор
res.contentType =
res.type = function(type){
return this.set('Content-Type', ~type.indexOf('/')
? type
: mime.lookup(type));
};
Мой вопрос: что делает ~
оператор делать в перед заявлением type.indexOf()
? Какова его цель и когда она используется?
Фактически '~ type.indexOf ('/')' означает '' type' содержит строку '/'. –
Для удобства чтения вы можете исправить прототип строки: 'String.prototype.contains = function (s) {return ~ this.indexOf (s); } ', давая' type.contains ('/') ' – Eric
. Одно сомнение, что произойдет, если 0 встречается вместо -1. В любом случае это ударит 0? так что происходит при преобразовании 0 из индекса в? –