优先使用原始值
建议使用来自 primordials
的冻结内建对象,而不是默认的全局对象。
此 lint 规则专为 Deno 的内部代码设计。普通用户无需对其代码运行此规则。
Primordials 是运行时中所有内建对象的冻结集合,我们应在 Deno 内部使用它们以避免原型污染的风险。此规则检测全局内建对象的直接使用,并建议将其替换为 primordials
对象中对应的内建对象。
一个这样的例子是
const arr = getSomeArrayOfNumbers();
const evens = arr.filter((val) => val % 2 === 0);
此示例的第二行应为
const evens = primordials.ArrayPrototypeFilter(arr, (val) => val % 2 === 0);
无效示例
const arr = new Array();
const s = JSON.stringify({});
const i = parseInt("42");
const { ownKeys } = Reflect;
有效示例
const { Array } = primordials;
const arr = new Array();
const { JSONStringify } = primordials;
const s = JSONStringify({});
const { NumberParseInt } = primordials;
const i = NumberParseInt("42");
const { ReflectOwnKeys } = primordials;