gpt4 book ai didi

javascript - 如何访问 Node 中的 `primordials` 对象?

转载 作者:行者123 更新时间:2023-12-05 06:00:37 26 4
gpt4 key购买 nike

我正在学习 Node.js 并分析其源代码。我注意到 Node.js 在其源代码中多次调用 primordials。但是,我不知道 primordials 的实现。阅读文件lib/internal/per_context/primordials.js后,我发现了primordials的一些属性,例如primordials.Arrayprimordials.ArrayBuffer 是 JS 内置函数:

[
'Array',
'ArrayBuffer',
'BigInt',
'BigInt64Array',
'BigUint64Array',
'Boolean',
'DataView',
'Date',
'Error',
'EvalError',
'Float32Array',
'Float64Array',
'Function',
'Int16Array',
'Int32Array',
'Int8Array',
'Map',
'Number',
'Object',
'RangeError',
'ReferenceError',
'RegExp',
'Set',
'String',
'Symbol',
'SyntaxError',
'TypeError',
'URIError',
'Uint16Array',
'Uint32Array',
'Uint8Array',
'Uint8ClampedArray',
'WeakMap',
'WeakSet',
].forEach((name) => {
const original = global[name];
primordials[name] = original;
copyPropsRenamed(original, primordials, name);
copyPrototype(original.prototype, primordials, `${name}Prototype`);
});

但是,我找不到 primordials 的其他属性的实现,例如 primordials.FunctionPrototypeCallprimordials.ObjectDefineProperty。为了理解primordials的所有属性,我想在Node.js的源代码编译后访问primordials。有什么方法可以访问 primordials 吗?谢谢。

最佳答案

primordials 是任何内置 JS 数据类型的内部名称,您可以从使用 Node.js 运行的任何 JS 代码访问它们,因为它们是全局实体。例如如果您有 index.js 文件,您可以调用 new Array 或任何其他原始文件,然后使用 node ./index.js 运行它/p>

另外据我所知,您正在此处的 lib 文件夹中编写一些代码,您需要以特殊方式访问这些代码,但我认为您只是在编写 JS 代码,所以您不需要不关心它。

这些类型中的大多数来自 V8 引擎。

关于javascript - 如何访问 Node 中的 `primordials` 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67601113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com