代码如下:
<script>
var a = 1
var b = 2
var c = 3
var obj = {
a,
b,
c
}
console.log(obj)
</script>
IE浏览器这样使用会报错
试试改成下面的写法
var obj = {
a: a,
b: b,
c: c
}
在谷歌,Edge浏览器中,这种写法都是可以了,但是在IE浏览器就会出现错误
想问一下,这种 写法 的试用规则,假如不支持IE,那局限性有点大
@Cgrain: 具体报什么错?
@dudu:
@Cgrain: 我在 IE 在测试过了,上面加上冒号的写法是可以的。
var a = 1;
var b = 2;
var c = 3;
var obj = {
a: a,
b: b,
c: c
};
console.log(obj);
@dudu: 我看看是不是需要什么东西转换一下,这个是新语法,现在前端越来越神奇了
你写的这种就是dudu写的完整版本,在js中,key与value变量相同,可以直接缩写成{a,b,c}
这种写法是不存在兼容问题的,你要确认下你有没有写错
你可以试一下,在ie是不行的...
@Cgrain: 我这边是mac,只能去公司试,在我印象中这个好像不是es2015才有的,如果是对象解构,那也是es6。
谷歌浏览器害人,好久没在 ie10 以下写js了 哈哈
@沉睡的木木夕:
一不小心就炫富了
@Cgrain: ie11都不行,chrome没问题 哈哈,看来ie还是得用保守的写法,要么就用babel转换咯
这是es2015的语法,你的IE不支持这种语法当然会报错,当前流行的做法是使用babel这类工具转换一下
是IE不支持,还是我的IE不支持..