javascript - 如何使用 {variableName} 创建变量/常量
问题描述
我正在观看一些 javascript 视频,并且我看到有些人创建了类似 const {variable} = something 的变量。
router.delete('/:movieId', async function(req,res, next){ //delete
const {movieId} = req.params; //req.params
try {
const deletedMovie = await moviesServices.deleteMovie({movieId});
res.status(200).json({
data: deletedMovie,
message: 'movies deleted'
});
} catch (err) {
next(err);
}
})
}
我也看到人们在函数中声明参数时经常这样做,例如:
async updateMovie({movieId, movie} = {}){
const updatedMovieId = await this.MongoDB.update(
this.collection,
movieId,
movie
);
return updatedMovieId;
}
这些是我一直在研究的一些Nodejs,Express Api代码,我对这种声明变量一无所知,所以我想知道它们何时以及它们用于什么
解决方案
我猜你的困惑是在第一个例子中。这称为解构。这里有一个例子来解释。
const person = {
name: 'Luke',
age: '24',
facts: {
hobby: 'Photo',
work: 'Software Developer'
}
}
const {name, age} = person;
console.log(name, age); // 'Luke' '24'
花括号包含一个语法糖,可以轻松地从数组和对象中提取数据。这个例子来自这篇很棒的文章。
推荐阅读
- android - 如果应用程序未打开,Android 无法关闭通知
- twilio - 如何使用 twillio flex 同时拨打所有座席
- python - Xlwings 通过 xl.App 打开 excel 没有事件,可见 True
- javascript - 删除反应 js 中的事件侦听器问题
- r - 从两个不同的data.table中获取相同行的索引
- java - 泛型类型根据上下文具有不同的含义。为什么?
- ios - 安全文本字段的键盘布局从 AZERTY 更改为 QWERTY - SWIFT
- android - Android http回调和片段处理
- javascript - 我的模态不会弹出;收到非布尔属性“动作”错误的“真”
- git - 如何在来自 github 的分叉 repo 上正确同步 master 和分支