在JavaScript中设置和获取布尔对象属性
Setting and getting a boolean object property in JavaScript
所以我刚刚提交了一个协作软件项目(一个用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应用程序(可能没有转译),你应该认识到只有最新的浏览器才会支持该代码,除非它被转译为标准的对象文字符号。
相关文章:
- 是 JavaScript 中的布尔对象
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- 忽略伊斯坦布尔覆盖率报告的对象方法
- 检查布尔值并将其转换为对象中的数字
- 检查对象数组是否包含布尔值true/false
- 在 Javascript 中,在对象到布尔的情况下,类型强制如何
- 为什么这个对象方法不返回布尔值Javascript
- 带有对象,数组和布尔值的棘手Javascript逻辑
- 是否可以定义任意对象的布尔值
- 按布尔值,然后按数字(javascript)对对象数组进行排序
- 在使用javax.script.ScriptEngine对象评估javaScript代码后返回布尔值
- 通过选择器检查对象是否存在,使用jQuery或Javascript返回布尔值
- 使用原始JavaScript或undercore.js根据布尔值删除或筛选对象
- 切换嵌套的布尔对象属性(在任意深度)——可以不使用eval
- 当在布尔上下文中使用时,为什么要将对象转换为布尔值
- 保留的大小的Javascript对象充满布尔值
- 我怎么能返回一个空对象同时空对象等于布尔值false在javascript
- 用'invert'扩展Javascript中的布尔对象函数
- 在JavaScript中设置和获取布尔对象属性
- 是否可以有一个从boolean.prototype继承的自定义布尔对象