JavaScript NodeJS 代码中的"Object"是什么?



我看到了下面的代码:

const User = require('../model/User');
const jwt = require('jsonwebtoken');
const handleRefreshToken = async (req, res) => {
const cookies = req.cookies;
if (!cookies?.jwt) return res.sendStatus(401);
const refreshToken = cookies.jwt;
const foundUser = await User.findOne({ refreshToken }).exec();
if (!foundUser) return res.sendStatus(403); //Forbidden 
// evaluate jwt 
jwt.verify(
refreshToken,
process.env.REFRESH_TOKEN_SECRET,
(err, decoded) => {
if (err || foundUser.username !== decoded.username) return res.sendStatus(403);
const roles = Object.values(foundUser.roles);
const accessToken = jwt.sign(
{
"UserInfo": {
"username": decoded.username,
"roles": roles
}
},
process.env.ACCESS_TOKEN_SECRET,
{ expiresIn: '10s' }
);
res.json({ roles, accessToken })
}
);
}
module.exports = { handleRefreshToken }

我不明白这行代码中的Object是什么:

const roles = Object.values(foundUser.roles);

我的意思是它是一个类的实例吗?什么类?它在哪里实例化?

这个Object指的是什么?

Node.JS中的对象是大括号内的任何东西,基本上是JSON。如果你真的读到它,Node.JS中的所有东西实际上都是一个对象,但这是离题了。

这行代码所做的是查找foundUser,并获得'roles'类别下的所有值,因此我假设它将发送回查找到的用户拥有的所有角色。

如果你想研究更多,或者如果我不够清楚,请查看这个页面:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object

最新更新