对象原本没有Symbol.iterator方法,在自定义的箭头函数中为什么还会出现一个next()方法?还有为什么能直接调用这个next()方法?
登陆购买课程后可参与讨论,去登陆吧
同学你好,对于你的问题解答如下:
1、next方法是在自定义箭头函数中return返回的对象中新声明的方法,注意:必须将方法命名为next,具体参考第二条解释。
2、因为使用for...of语法遍历obj对象,js底层代码在执行时,默认会调用obj这个对象的上Symbol.iterator方法中的next方法完成遍历。
视频中讲师介绍Symbol.iterator,主要是让同学们进一步理解for...of的遍历原理,对于Symbol.iterator了解下即可,实际开发中更多的是直接使用for...of遍历。
祝学习愉快~
老师next方法不是在对象里没有吗,为什么不这样写function next()
同学你好,解答如下:
因为同学问的很底层,如下解答同学可以当做一个参考,这里涵盖了的知识点是迭代协议与迭代器。
1、next方法本身是有的,它是被作为迭代协议的其中一个方法,也就是说当迭代协议与next方法结合才能被称为迭代器。
2、不能,在官方的定义中此类的例子它只能是这样书写。
同学如有兴趣可以看看官方对于迭代协议的技术定义--->传送门
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
入行前端,是明智的选择!市场需求大,就业前景好,入行门槛低,小白易上手 全新升级:技术更新,Vue3.0/TypeScript/React17.x; 技术更全面,从0基础到全栈开发再到大型项目构建
157 1
75 1
31 2
200 5
155 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星