所以我刚刚在一个协作软件项目(一个用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吗?否则形式不好?如果上面的确定,那么使用类似prettyBasket : prettyBasket
的设置感觉就更少了。
答案 0 :(得分:4)
您无意中使用了ES6的一项功能,特别是速记对象文字符号,您可以阅读更多有关here的内容。
此外,根据您正在使用的应用程序是使用Ember-cli构建(并使用ES6转换器)还是构建常规Ember应用程序(可能没有转换),您应该认识到只有最新的浏览器将支持该代码,除非它被转换为标准的对象文字符号。