gpt4 book ai didi

javascript - 对象内部的 next(){} 是什么?

转载 作者:行者123 更新时间:2023-11-28 15:07:11 25 4
gpt4 key购买 nike

在查看 for-of 循​​环时,我看到以下代码:

var iterable = {
[Symbol.iterator]() { /* 1. I don't understand, will look later*/
return {
i: 0,
next() { /* 2. New to me how next(){} is used inside object? */
if (this.i < 3) {
return { value: this.i++, done: false };
}
return { value: undefined, done: true };
}
};
}
};

for (var value of iterable) {
console.log(value);
}
// 0
// 1
// 2

为了简化我的问题,我试图用我自己的逻辑来理解:

function bar(){
return 1;
}
var obj = {foo: 1, bar(){}}
console.log(obj); /* I get nothing error, so this is good */
console.log(obj.bar());
/* Just trying to know if this works, but I get undefined*/

那么对象字面量中的 func(){} 有什么用呢?我只看到了property:value对象字面量内的声明。

最佳答案

对象内的

next() {} 是 es6 简写形式。

在 es6 之前,它会被写成 next: function() {} 对于你自己的逻辑,你可以使用像 Babel 这样的编译器,或者只是写成

var obj = {
foo: 1,
bar: function(){
// return data here
}
}

本质上,对象可以包含其他对象,并且这些对象也可以是函数。当你把头围在它周围时,它非常强大。

编辑:格式化答案以提高易读性

关于javascript - 对象内部的 next(){} 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369856/

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