在 JavaScript 中设置和获取布尔对象 属性

Setting and getting a boolean object property in JavaScript

所以我刚刚提交了第一个关于协作软件项目(使用 Ember.js 构建的网络应用程序)的拉取请求,我注意到我不小心包含了一个布尔变量(有条件地在函数中设置)在对象文字中 仅使用变量名 而不是键值对,如下所示:

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;

}

我很惊讶后来使用

访问布尔值
var stand = fruitStand();
var truthy = stand.prettyBasket;

似乎有效,但这是否有效 JavaScript?否则形式不佳?如果上面的没问题,用 prettyBasket : prettyBasket 之类的设置感觉不那么干燥。

您无意中使用了 ES6 的一项功能,特别是 shorthand 对象文字表示法,您可以阅读有关 here 的更多信息。

此外,取决于您正在开发的应用程序是使用 Ember-cli 构建的(并且正在使用 ES6 转译器)还是构建常规的 Ember 应用程序(可能没有转译),您应该认识到只有最新的浏览器才会支持该代码,除非它被转译为标准对象文字表示法。