消息
TypeError: Property description must be an object: x (V8-based) TypeError: Property descriptor must be an object, got "x" (Firefox) TypeError: Property description must be an object. (Safari)
错误类型
TypeError
哪里出错了?
在某个地方需要一个对象,但未提供。null 不是一个对象,因此不会起作用。你必须在给定情况下提供一个正确的对象。
示例
期望属性描述符
当使用 Object.create() 或 Object.defineProperty() 和 Object.defineProperties() 等方法时,可选的描述符参数需要一个属性描述符对象。如果未提供对象(例如只提供一个数字),则会抛出错误。
js
Object.defineProperty({}, "key", 1);
// TypeError: 1 is not a non-null object
Object.defineProperty({}, "key", null);
// TypeError: null is not a non-null object
一个有效的属性描述符对象可能如下所示:
js
Object.defineProperty({}, "key", { value: "foo", writable: false });