跳至内容

unicorn/new-for-builtins 严谨

作用

强制使用 new 来处理以下内置元素:ObjectArrayArrayBufferBigInt64ArrayBigUint64ArrayDataViewDateErrorFloat32ArrayFloat64ArrayFunctionInt8ArrayInt16ArrayInt32ArrayMapWeakMapSetWeakSetPromiseRegExpUint8ArrayUint16ArrayUint32ArrayUint8ClampedArraySharedArrayBufferProxyWeakRefFinalizationRegistry

禁止使用 new 来处理以下内置函数:StringNumberBooleanSymbolBigInt

对于这些情况,不应使用 new,因为这会为基本值创建对象包装器,但这并不是您想要的。但是,不使用 new 也可将值转换为该类型。

为何如此不妥?

它们的工作原理相同,但为了与其他构造函数保持一致,故应优先使用 new

示例

**错误**的代码示例

javascript
const foo = new String("hello world");
const bar = Array(1, 2, 3);

**正确**的代码示例

javascript
const foo = String("hello world");
const bar = new Array(1, 2, 3);

参考

根据 MIT 许可证发行。