关于js对象{}赋值问题

各位大神,我想知道在js中,对象可以这样赋值:

var apple = 1;console.log({apple})

这样会打印出{apple:1}

因为在「javascript高级程序设计」书里面好像没有看到,我想知道这个是所有浏览器都兼容的写法吗,或者说有文章写过这种写法,麻烦知道的大神告知我,谢谢

阅读 4k
4 个回答

ES6中,var apple = 1;{apple} 相当于 {apple:apple}

遇到过和题主类似的问题。
underscore.js的模板,渲染到页面。

var data = 123;
var _html = _.template("<span> <%= data %> </span>");
$("div").html(_html({data})); // {data}的完整写法就是{data:data}

这种简写在大多数浏览器貌似都可以,但qq浏览器内核的就不行。不识别模板。

ECMAScript 6新语法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题