7.3.6 CreateDataPropertyOrThrow ( O, P, V )
抽象操作 CreateDataPropertyOrThrow 用于创建对象的新属性。 如果无法执行请求的属性更新,则会抛出 TypeError 异常。 该操作通过参数 O、P 和 V 调用,其中 O 是对象,P 是属性键,V 是属性的值。 此抽象操作执行以下步骤:
- 断言: Type(O) 为 Object 类型。
- 断言:IsPropertyKey(P) 为 true。
- 使 success 变为 ? CreateDataProperty(O, P, V)。
- 如果 success 为 false,则抛出一个 TypeError 错误。
- 返回 success。
注意:此抽象操作创建一个属性,其属性设置为与由 ECMAScript 语言分配运算符创建的属性使用的默认值相同。 通常,该属性将不存在。 如果它存在并且不可配置,或者 O 不可扩展,[[DefineOwnProperty]] 将返回 false,导致此操作抛出一个 TypeError 异常。