es6在IF中声明一个变量(比如es5)

时间:2017-02-02 01:46:13

标签: javascript syntax ecmascript-6 ecmascript-5

好的,这已经到了我生气的地步,无法解决这个问题。

在ES5中,我经常会做类似......

if( (users = resp.results) && users.length > 0 ) {
    // do something with users
}

暂时让我们忘记范围界定及其含义以及所有这些......

Babel不再喜欢这种语法,不再是ES6,而是Chrome控制台。

ES6现在有相同的语法吗?

1 个答案:

答案 0 :(得分:4)

如果您希望在使用Babel强制执行的'use strict'时有效,则需要先声明users。如果您不使用Babel或“使用严格”,您的原始代码将正常工作。

var users;
if( (users = resp.results) && users.length > 0 ) {
    // do something with users
}

将与'use strict'一起使用。

如果您想继续使用此技巧,也可以从转换后的babel代码顶部手动删除'use strict'