问题一
export default{
fn () {
}
}
以前函数不都是如下这样写吗
export default {
fn: function (){
//....
}
}
问题二
new Vue({
el:"#app",
router,
store
})
不应该是{ key1:val1, key2:val2}
吗
问题一
export default{
fn () {
}
}
以前函数不都是如下这样写吗
export default {
fn: function (){
//....
}
}
问题二
new Vue({
el:"#app",
router,
store
})
不应该是{ key1:val1, key2:val2}
吗
对ES6的语法 问题1:定义一个js文件的默认输出,是一个函数
问题2:属性匹配同名属性。
e.g `var router = '*****'
var obj = {
router //这里router的值,就是上方定义的router的值。
}`
这两个问题都用到了es6中的一个新属性:对象属性的简洁表示法。
首先针对问题二:
var foo = 'bar';
var baz = {foo);
console.log(baz) //{foo: 'bar'}
//等同于
var baz = {foo: foo);
同理,除了属性可以简写,方法也可以简写(即问题一):
var o = {
method(){
//something
}
};
//等同于
var o = {
method: function(){
//something
}
};
如果想具体了解ES6中对象有哪些扩展,可以选择阅读阮老师的大作:http://es6.ruanyifeng.com/#do...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
是的,这是es6的写法,关于问题一,函数可以直接声明,fn(){}即可;关于问题二,只有当key和value相同的情况下,才可按照那样的写法,即上述写法相当于 router:router,store:store。如果你设定了一个值为store_1,就需要安装完整格式写成store:store_1,不能简写