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