Javascript babel obj symbol.迭代器未定义

Javascript babel obj symbol.迭代器未定义,javascript,ecmascript-6,babeljs,Javascript,Ecmascript 6,Babeljs,我正在使用ES6编写一个node项目,并使用babel cli编译到ES5,但在ES6上针对of let parseParams = (obj)=> { let string = '' for (var [key,value] of obj) { string += `/${key}/${value}` } console.log(`obj: ${string}`) return string; } 编译js=> for (var _iterator =

我正在使用
ES6
编写一个
node
项目,并使用babel cli编译到
ES5
,但在
ES6上针对of

let parseParams = (obj)=> {
  let string = ''
  for (var [key,value] of obj) {
    string += `/${key}/${value}`
  }
  console.log(`obj: ${string}`)
  return string;
}  
编译js=>

for (var _iterator = params[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
        var _step$value = _slicedToArray(_step.value, 2);

        var key = _step$value[0];
        var value = _step$value[1];

        string += '/' + key + '/' + value;
    }  
params[Symbol.iterator]
未定义的

let params = {
    key: 'value'
}


babel server.babel.js -o server.js  
我怎样才能解决这个问题,谢谢。

引用

for…of语法特定于集合,而不是所有对象。它将以这种方式迭代具有[Symbol.iterator]属性的任何集合的任何元素

params
没有
[Symbol.iterator]
属性,因此不能将
用于。。。在这里循环

obj
转换为可编辑类型(例如)

用于。。。在
循环中:

for (let prop in obj) {
   string += `/${prop}/${obj[prop]}`
}

我真的错过了
集合
地图
。非常感谢
for (let prop in obj) {
   string += `/${prop}/${obj[prop]}`
}