方括号前的分号

Semicolon before square bracket

谁能告诉我为什么 yarn format 在我的方括号前加了一个分号。没有它,纱线构建会失败..

    ;[
      this.querySelector('[class$="-cover"] img'),
      this.querySelector('.FullscreenCarousel-cover-count')
     ].forEach(item => {
         // actions
    })
    })

考虑以下(基本)代码:

doSomething()
[1].forEach(i => doAnotherThing(i))

这样读起来,它看起来很简单——调用一些函数,然后遍历一个数组并调用另一个函数。两个独立的步骤。

然而,JS 不看空格。如果您看到这样的代码怎么办:

doSomething()[1].forEach(i => doAnotherThing(i))

那现在是什么意思?现在看起来你需要调用 doSomething() which returns 一个数组,取该数组的第 1 项,希望 that 是一个数组,因为我们正在迭代它。

相对于:

doSomething();[1].forEach(i => doAnotherThing(i))

这也压缩了空格,但现在很清楚你的意思是这些是两个完全独立的步骤。在前面加上这样的分号的主要原因是为了阐明您的意图。