Bixby 真的支持 ES6 吗? const / let 关键字故障

Does Bixby really support ES6? const / let keywords malfunction

当循环对象时,constlet 关键字在 Bixby 胶囊本地端点上出现故障 javascript。

我在笔记本电脑上 运行 Bixby 工作室(Ubuntu 18.04)。在调试控制台上尝试 Bixby 模拟器 api 结果以意外的方式构建。

var http = require('http')
var console = require('console')
var config = require('config')
module.exports.function = function getBTCRates () {
  console.log("GET /ticker without any parameter!)")
  // Read the remote.url value from capsule.properties
  var response = http.getUrl(config.get('blockchain.url') + '/ticker', { format: 'json' });

  var items = [];
  for (var currency in response) {
      var item = response[currency];
      item.quarterBefore = item['15m']
      delete item['15m'];
      item.currency = currency;
      items.push(item)
  }
  return items;
}

如果我将 var 关键字更改为 constlet,如下所示,它会发生故障。

var http = require('http')
var console = require('console')
var config = require('config')
module.exports.function = function getBTCRates () {
  console.log("GET /ticker without any parameter!)")
  // Read the remote.url value from capsule.properties
  var response = http.getUrl(config.get('blockchain.url') + '/ticker', { format: 'json' });

  const items = [];
  for (let currency in response) {
      const item = response[currency];
      item.quarterBefore = item['15m']
      delete item['15m'];
      item.currency = currency;
      items.push(item)
  }
  return items;
}

当我使用constlet关键字时,结果如下:

wrong result

当我使用var关键字时,结果如下:

right result

几点建议:

  1. 检查它是否是 Ubuntu 特定问题,因为 Ubuntu 的 Bixby IDE 仅处于 Alpha 阶段。您可以在 MAC 或 PC 上测试您的代码。
  2. IDE 中的调试控制台提供了有关异常的更多详细信息。 JS 运行 可能会出现异常,但胶囊仍会尝试继续使用它可以获得的任何 default/previous 值。
  3. 仅更改 constlet 以隔离问题。
  4. 您可以使用IDE的联系支持功能在帮助菜单下提交诊断。

请参阅 https://mozilla.github.io/rhino/compat/engines.html 了解各种版本的 Bixby 支持哪些 ES6 功能。目前看来 let(不是 const)应该主要工作,但需要一个未记录的标志,我不知道如何使用它。