簡體   English   中英

Eslint和Prettier,當下一行包含在括號中時,沒有半規則會導致行執行

[英]Eslint and Prettier no semi rule causes line execution when next line is wrapped in parens

我目前在nosemi和ESLint中設置了nosemi規則。 考慮以下。

let a = myArr.find(x => x.id === c.id)
let b = myArr2.find(x => x.id === c.id)

(a.id && a.id != b.id) && doStuff()

它嘗試將其作為類似這樣的函數執行...

let b = myArr2.find(x => x.id === c.id)(a.id && a.id != b.id) && doStuff()

我可以簡單地刪除括號,但是在某些情況下,我需要括號才能使下一行正常工作。

我也可以做類似if (a.id && a.id != b.id) doStuff()的事情,但是if (a.id && a.id != b.id) doStuff()我正在更改樣式代碼。

可以解決嗎?

您可以使用標准的分號作為分隔符;

 let a = [true].find(Boolean) ; (a || !a) && console.log('gotcha') 

或空的語句{}

 let a = [true].find(Boolean) {} (a || !a) && console.log('gotcha') 

或使用void運算符 ,將行分隔開,但是需要帶括號才能執行第二部分。

 let a = [true].find(Boolean) void ((a || !a) && console.log('gotcha')) console.log(a); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM