因此,我只是在一个协作软件项目(一个使用Ember.js构建的Web应用程序)上提交了我的第一个拉取请求,并且我注意到我不小心在对象文字中仅使用了变量名称而不是键值对,如下所示:

function fruitStand () {
  // do something here to decide if this basket is pretty, and if not..
  var prettyBasket = false;

  var myObj = {
    apples : 1,
    oranges : 2,
    prettyBasket
  };

  return myObj;

}

我很惊讶后来使用boolean
var stand = fruitStand();
var truthy = stand.prettyBasket;

似乎有效,但这是有效的JavaScript吗?否则表格不好?如果以上操作都可以,则使用prettyBasket : prettyBasket之类的参数进行设置会使DRY更少。

最佳答案

您无意间利用了ES6的功能,特别是速记对象文字符号,您可以阅读更多有关here的信息。

另外,根据您正在使用的应用程序是使用Ember-cli构建(并使用ES6编译器)还是构建常规的Ember应用程序(可能不进行编译),您应该意识到只有最新的浏览器将支持该代码,除非将其转换为标准对象文字表示法。

07-28 11:10