我目前在Prettier和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()
的事情,但是那时我正在更改样式代码。
有什么办法解决吗?
答案 0 :(得分:0)
您可以使用标准分号作为分隔符;
。
let a = [true].find(Boolean)
; (a || !a) && console.log('gotcha')
或者是空的语句{}
。
let a = [true].find(Boolean)
{}
(a || !a) && console.log('gotcha')
或使用void
operator分隔行,但需要括号才能执行第二部分。
let a = [true].find(Boolean)
void ((a || !a) && console.log('gotcha'))
console.log(a);