javascript - 将参数传递给生成器函数
问题描述
我正在代码库(redux sagas)中学习生成器函数,我看到传入的参数就像
export function* someGenerator({ x, y = {} }) {
当我运行它时
someGenerator('xyz', 'abc')
与常规函数一样,它显示为未定义
我没有得到 ({}) 部分或如何将参数传递给这样的函数。
事情是我试图在另一个中调用生成器函数
解决方案
该函数使用默认对象属性。它正在做两件事:
x
如果具有属性的对象x
作为第一个参数提供给函数,则解构该属性。- 解构
y
给定对象的属性。如果参数没有属性y
,则将其分配给空对象。
请参阅以下示例:
function someGenerator({ x, y = {} }) {
console.log(x)
console.log(y)
}
someGenerator({x:'xyz',y:'abc'})
someGenerator({x:'xyz'}) // 'y' will empty object.
推荐阅读
- linux - 多个变量未在 shell 脚本的同一行中打印
- spring-boot - Spring Boot ActiveMQJMSConnectionFactory 连接到 JBoss EAP 6.1 HornetQ
- list - 根据权重分布从列表中随机选择 N 个项目的最快算法是什么?
- sql - 努力在 SQL Server 中添加列并加入
- javascript - 如何在 React 中将 eventListener 添加到 div 显示样式
- python - PyGame,让坦克炮跟随你的光标,也是很好的碰撞实现实践
- javascript - 在第一次选择时将 React-select 值设置为 null
- javascript - 如何在 html 文本框中显示 javascript 输出
- alteryx - Alteryx 工作流,用于根据某些列条件从不同行中删除列值
- html - HTML