欢迎选择我的课程,让我们一起见证您的进步~~
这个跟解构有毛关系,你运行下面的代码看看会不会报错
isDrawing = true [1,2,3].map(v=>v)
所以 ; 这个东西不是不让大家加,而是不加之前先弄清楚到底哪些情况是必须要加的
这不是bug,是你不加分号导致的。因为JS是允许这样的语法的:
a [0] = [ 1 ]
上面只是一句赋值。
ES规范规定,用户不主动加分号的时候,解释器会自动补分号,一般来说是在换行的时候补,但是有时候没那么智能。
a = b [x,y] = [1,2]
这一段的b和下面的方括号是可以连起来的,所以就变成了
a = b[x,y] = [1,2]
解释器自动插入分号不是万能的,还有一些二义性比如这样:
a=b (function(){ })()
这里的b会和下面的括号连起来,你以为是两句,其实是一句。
这个跟解构有毛关系,你运行下面的代码看看会不会报错
所以 ; 这个东西不是不让大家加,而是不加之前先弄清楚到底哪些情况是必须要加的
这不是bug,是你不加分号导致的。
因为JS是允许这样的语法的:
上面只是一句赋值。
ES规范规定,用户不主动加分号的时候,解释器会自动补分号,一般来说是在换行的时候补,但是有时候没那么智能。
这一段的b和下面的方括号是可以连起来的,所以就变成了
解释器自动插入分号不是万能的,还有一些二义性比如这样:
这里的b会和下面的括号连起来,你以为是两句,其实是一句。