JavaScript NodeJS 代码中的 "Object" 是什么?
What is an "Object" in a JavaScript NodeJS code?
我看到了下面的代码:
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);
我的意思是它是 class 的实例吗?什么class?它在哪里实例化?
这个Object
指的是什么?
Node.JS 中的对象是大括号内的任何对象,JSON 基本上是。如果您真的读过它,Node.JS 中的所有内容实际上都是一个对象,但那是题外话。
这行代码正在做的是找到 foundUser,并获取 'roles' 类别下的所有值,所以我假设它将发回找到的用户的所有角色有。
如果您想进行更多研究,或者如果我不够清楚,请查看此页面:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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);
我的意思是它是 class 的实例吗?什么class?它在哪里实例化?
这个Object
指的是什么?
Node.JS 中的对象是大括号内的任何对象,JSON 基本上是。如果您真的读过它,Node.JS 中的所有内容实际上都是一个对象,但那是题外话。
这行代码正在做的是找到 foundUser,并获取 'roles' 类别下的所有值,所以我假设它将发回找到的用户的所有角色有。
如果您想进行更多研究,或者如果我不够清楚,请查看此页面:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object