我有一个工厂函数,它返回一个对象。在对象中,我有一个名为getNext的方法。
我希望getNext
方法返回一个具有value
和done
属性的对象。
下面是我的代码,但我在返回括号中的代码似乎是不正确的。
function makeIterator (arr){
let methodCalls = 0;
return {
getNext(obj){
methodCalls += 1;
return {
this.value = '';
this.done = '';
}
},
getIndex(){
return methodCalls
}
}
}
我上面的代码没有通过下面的测试规范:
it('the `getNext` method returns an object with the properties `value` and `done`', () => {
const iterator = makeIterator(['first', 'second', 'third']);
const iterableInfo = iterator.getNext();
expect(Object.keys(iterableInfo).sort()).toEqual(['done', 'value'].sort());
expect(iterableInfo.hasOwnProperty('value')).toBe(true);
expect(iterableInfo.hasOwnProperty('done')).toBe(true);
});
我做错了什么?
发布于 2019-06-03 00:51:10
看起来您似乎是在尝试利用destructuring assignment
。
下面是一个示例,展示了它的外观:
var a, b, rest;
[a, b] = [10, 20];
更多信息请点击此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
https://stackoverflow.com/questions/56416955
复制相似问题