javascript – 尽管ES6,var是否是最适合使用的关键字的实例?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 尽管ES6,var是否是最适合使用的关键字的实例?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1862字,纯文字阅读大概需要3分钟。
内容图文
我会尽量简明扼要……
随着所有的ES6炒作,我觉得使用var关键字变得越来越不受JS社区的欢迎.由于这种(感知的)普遍共识,我一直养成避免使用var代替较新的const并让关键字创建变量的习惯.
下面是我编写的代码块的示例,其中我不能使用const,因为我想重新定义变量.我也使用async / await所以所有代码都在同一个块级范围内,这显然会阻止你重新定义let变量.所以我唯一的选择是使用var(或创建另一个let变量).
这是代码.通过Mongoose将新用户帐户保存到MongoDB …
router.post('/signup', async (req, res, next) => {
const { email, password } = req.body;
const user = await userModel.findOne({ email });
if (user) { res.send('Email already in use.'); return; }
// here is where the issue occurs - use var instead?
let newUser = new userModel({ email, password });
let newUser = await newUser.save();
console.log(newUser); // just checking everything works
res.send({ message: 'New user account created!' });
});
MDN提到这种行为……只有一个句子!那没用. :(然后他们继续讨论吊装行为,这不是我的问题,或者至少我不知道这是如何相关的.MDN Source Here.
所以总结……
>当var成为最合适的关键字时,这是一个实例的示例吗?
>如果这不是使用var的时间,那么当var是最合适的关键字时,即使在ES6(7,8等)时代,是否有任何实例?
免责声明:我知道我并不是绝对需要保存这些变量,但在我看来,值得权衡的是编写稍微冗长的代码,这些代码也更易读和易懂.我使用var很好,我只是这是一个有趣的案例.
解决方法:
没有理由在ES6中使用var. const应该是你的默认值.使用let over const的唯一原因是当你想稍后在同一个块中重新分配变量时.在这种情况下,您不会再次声明它,只需为其分配新值:
let newUser = new userModel({ email, password });
newUser = await newUser.save();
// allowed to reassign because `newUser` is not `const`
根据保存的不同,我怀疑你可以这样做:
const newUser = new userModel({ email, password });
await newUser.save();
newUser.save();如果保存失败,它应该拒绝它返回的Promise,等待将转换为抛出的错误.因此,在等待之后,代码中的保存是否成功应该是毫无疑问的.如果到达那些行,则保存成功.
内容总结
以上是互联网集市为您收集整理的javascript – 尽管ES6,var是否是最适合使用的关键字的实例?全部内容,希望文章能够帮你解决javascript – 尽管ES6,var是否是最适合使用的关键字的实例?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。