7.3.7 DefinePropertyOrThrow ( O, P, desc )
抽象操作 DefinePropertyOrThrow 用于以某种方式调用对象的 [[DefineOwnProperty]] 内部方法,如果无法执行所请求的属性更新,将抛出 TypeError 异常。 使用参数 O、P 和 desc 调用操作,其中 O 是对象,P 是属性键,desc 是属性的属性描述符。 此抽象操作执行以下步骤:
- 断言: Type(O) 为 Object 类型。
- 断言:IsPropertyKey(P) 为 true。
- 使 success 变为 ? O.[[DefineOwnProperty]](P, desc)。
- 如果 success 为 false,则抛出一个 TypeError 错误。
- 返回 success。