javascript - 请问下面代码中的...是扩展运算符还是操作运算符?这样写是什么意思?
问题描述
vuex中的代码
computed:{ ...mapState(['count']), count(){return this.$store.getters.count; }},
请问mapState前面的...是什么意思?加这个和不加这个有什么区别?已经看过扩展运算符和操作运算符的相关文档,不过还是不太明白,求详细点的解释。。
问题解答
回答1:自己写几个例子不就知道了…………比如:
const state = { a: 1, b: 2, c: 3};const now = { ...state, d: 4, e: 5};console.log(now);
这个语法大部分浏览器还不支持,所以你可以先去babel转一下,把转码后的代码直接放到控制台运行,看看出来的是啥。这个运算符其实挺简单的……
回答2:... 把对象在此地展开为键值对。如果直接写,有语法错误或者逻辑错误。
借用 @xiaoboost 的例子:
有 ... 运算符,点击查看
const state = { a: 1, b: 2, c: 3};const now = { ...state, d: 4, e: 5};console.log(now);
结果是
Object { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
没有 ... 运算符,点击查看
结果是:
Object { 'd': 4, 'e': 5, 'state': Object { 'a': 1, 'b': 2, 'c': 3 }}回答3:
...mapState(['count'])加...是为了将mapState对象分割,返回分离的各项,就可与局部计算属性(computed)混合使用了不加... mapState可是一个对象 computed也是一个对象 那就得一个一个的属性赋值吧或者你computed对象里不打算有其他属性,你直接computed:mapState(['count'])应该也可以
相关文章:
1. javascript - vue报错,昨天也是这么写的也没报错呀,今天就报错了,不知原因。求解决2. h-ui模板导入报错,怎么回事呢,我是用的TP5.13. nginx英文文档的WebSocket proxying部分没看太明白,麻烦推荐一点中文文章4. javascript - 自己开发jQuery插件能不能实现一个插件里有多个功能5. javascript - npm安装报错 系统w7 求大神解答6. javascript - 事件的定义有无函数的区别7. java - 请教一个IO的问题8. PHP怎么升级?升级会导致老的网站程序不能用吗?9. mysql - 对单表大量数据进行报表汇总有什么高效的方法10. PHP类属性声明?

网公网安备