Я читаю книгу о создании веб-приложения с узлом, позвоночником и mongodb. Я получил образцы из книги и столкнулся с фрагментом кода, который смутил меня.javascript логический оператор как аргумент в функции
var login = function(email, password, callback) {
var shaSum = crypto.createHash('sha256');
shaSum.update(password);
Account.findOne({email:email,password:shaSum.digest('hex')},function(err,doc){
callback(null!=doc);
});
};
взгляд на аргумент функции обратного вызова нуль! = Док, я знаю, что в JavaScript является среднее значение NULL не равен док, но как получилось, что вы можете использовать его в качестве аргумента.
'нуль = doc' получает оценку как логическое и результат передается в функцию обратного вызова, это все. Это то же самое, что и var docIsNull = null! = Doc; callback (docIsNull); ' – Ian
^^^^^ То, что он сказал, оценивая выражение, возвращает логическое, более или менее то, что оценка происходит в отдельной переменной или непосредственно не имеет значения, она все равно передает полученное логическое значение функции обратного вызова , – adeneo
@Ian: ваш комментарий должен быть принят как ответ. :) – mithunsatheesh