9.1.5.1 OrdinaryGetOwnProperty ( O, P )
当使用对象 O 和属性键 P 调用抽象操作 OrdinaryGetOwnProperty 时,将执行以下步骤:
- 断言: IsPropertyKey(P) 为 true。
- 如果 O 不具有带有键 P 的属性,则返回 undefined。
- 令 D 为新创建的没有字段的属性描述符。
- 让 X 是 O 自己的属性,其关键字是 P。
- 如果 X 是一个数据属性,那么
a. 设置 D.[[Value]] 为 X [[Value]] 特性的值。
b. 设置 D.[[Writable]] 为 X [[Writable]] 特性的值。
6.否则
a. 设置 D.[[Get]] 为 X 的 [[Get]] 特性的值。
b. 设置 D.[[Set]] 为 X 的 [[Set]] 特性的值。
7.设置 D.[[Enumerable]] 为 X [[Enumerable]] 特性的值。
8.设置 D.[[Configurable]] 为 X [[Configurable]] 特性的值。
9.返回 D。