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

Setting and getting a boolean object property in JavaScript

本文关键字:布尔 对象 属性 获取 JavaScript 设置      更新时间:2023-09-26

所以我刚刚提交了一个协作软件项目(一个用Ember.js构建的web应用程序)上的第一个pull请求,我注意到我不小心在对象文字中包含了一个布尔变量(有条件地设置在函数中),只使用变量名称而不是键值对,像这样:

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吗?其他方面表现不佳?如果上面是OK的,用prettyBasket : prettyBasket设置它感觉不那么DRY。

您无意中使用了ES6的一个特性,特别是简写对象文字符号,您可以在这里了解更多。

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