TypeError: 在没有 new 的情况下调用内置 X 构造函数是被禁止的
当您尝试在不使用 new
关键字的情况下调用内置构造函数时,会发生 JavaScript 异常 "calling a builtin X constructor without new is forbidden"。所有现代构造函数,例如 Promise
和 Map
,必须使用 new
调用。
消息
TypeError: Constructor X requires 'new' (V8-based) TypeError: Promise constructor cannot be invoked without 'new' (V8-based) TypeError: calling a builtin X constructor without new is forbidden (Firefox) TypeError: calling X constructor without new is invalid (Safari)
错误类型
哪里出错了?
示例
无效情况
js
const m = Map(); // TypeError: calling a builtin Map constructor without new is forbidden
有效情况
js
const m = new Map();