类型错误:需要更多论证

当函数调用方式出现错误时,就会出现 JavaScript 异常 "需要更多参数"。需要提供更多参数。

¥The JavaScript exception "more arguments needed" occurs when there is an error with how a function is called. More arguments need to be provided.

信息

¥Message

TypeError: Object prototype may only be an Object or null: undefined (V8-based)
TypeError: Object.create requires at least 1 argument, but only 0 were passed (Firefox)
TypeError: Object.setPrototypeOf requires at least 2 arguments, but only 0 were passed (Firefox)
TypeError: Object.defineProperties requires at least 1 argument, but only 0 were passed (Firefox)
TypeError: Object prototype may only be an Object or null. (Safari)

错误类型

¥Error type

TypeError

什么地方出了错?

¥What went wrong?

函数的调用方式存在错误。需要提供更多参数。

¥There is an error with how a function is called. More arguments need to be provided.

示例

¥Examples

未提供必需的参数

¥Required arguments not provided

Object.create() 方法需要至少一个参数,Object.setPrototypeOf() 方法需要至少两个参数:

¥The Object.create() method requires at least one argument and the Object.setPrototypeOf() method requires at least two arguments:

js
const obj = Object.create();
// TypeError: Object.create requires at least 1 argument, but only 0 were passed

const obj2 = Object.setPrototypeOf({});
// TypeError: Object.setPrototypeOf requires at least 2 arguments, but only 1 were passed

你可以通过将 null 设置为原型来解决此问题,例如:

¥You can fix this by setting null as the prototype, for example:

js
const obj = Object.create(null);

const obj2 = Object.setPrototypeOf({}, null);

也可以看看

¥See also