gpt4 book ai didi

javascript - ES6 生成器和对象解构

转载 作者:行者123 更新时间:2023-11-29 11:01:39 26 4
gpt4 key购买 nike

根据 ES6,可以使用从自定义生成器返回的数组解构。但是现在我想不出一种方法来对简单的对象解构做同样的事情,因为我认为这应该可行(使用 Babel 和 Polyfill):

class Test {
constructor () { this.props = {a: 1, b: 2}; }

*[Symbol.iterator]() { yield* this.props; }
}

const {a, b} = new Test();

这实际上应该有效,不是吗?因为它总是简单地为 a 和 b 返回 undefined。

最佳答案

数组解构与可迭代/迭代器对象相关联。对象解构没有。如果你愿意

const {a, b} = foo

ab 提取值,然后 foo 需要实际返回一个值给 foo.afoo.b。因此,您要么只想将属性存储在实例本身而不是 .props 上,要么使用类似 getter 的方法

get a() {
return this.props.a;
}

关于javascript - ES6 生成器和对象解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45987006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com