在hapi auth tutorial网页上,我找到了以下代码:
const validate = async (request, username, password) => {
const user = users[username];
if (!user) {
return { credentials: null, isValid: false };
}
const isValid = await Bcrypt.compare(password, user.password);
const credentials = { id: user.id, name: user.name };
return { isValid, credentials }; // <=== Is this a valid js statement?
};
我的问题是关于return语句的。那有效吗?什么意思?
答案 0 :(得分:3)
根据新的ES6速记语法
return { isValid, credentials };
翻译为
return { isValid: isValid, credentials:credentials };
有效
答案 1 :(得分:3)
是的,您可以跳过属性名称,幸运的是,ECMAScript 2015允许您简单地在对象内部传递变量,该属性将自动变为变量名称。
所以...
var1 = true;
var2 = false;
object = { var1, var2 }; // { var1: true, var2: false }
您实际上正在返回一个“匿名”变量(在这种情况下为对象),该变量当时不是部分变量,但在返回时在运行时实例化。