prefer-primordials
建议使用来自 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;