【发布时间】:2020-06-17 23:32:12
【问题描述】:
当对象为空时,我想使用默认值来解构先前收益的结果。但是我得到了一个无法读取未定义的属性“xxx”,这意味着我尝试解构变量theObject 的位置是未定义的,但为什么呢?
const DEFAULT_POSITION = {x: 20, y: 20}
const myObject = {}
function* myGenerator(i) {
const theObject = yield myObject;
const { posX = DEFAULT_POSITION.x, posY = DEFAULT_POSITION.y, scale = 1 } = theObject
yield {posX, posY, scale}
}
第一个产量按预期返回一个空对象,但是当我再次运行生成器时,我得到一个错误,即对象销毁中的第一项 (posX) 无法读取,因为 theObject 未定义.
【问题讨论】:
-
你是如何运行生成器的?请发布完整的代码。
标签: javascript ecmascript-6 generator