Return 分配给它的同一块中的新变量

Return a new variable in the same block as assigning it

有没有办法 return 在同一个块中分配一个新变量?

我有这个内联 if 语句,我想立即 return 变量,而不必先声明它。当这样做时(见下文)一切正常,除了 linter eslint 抱怨 x 是一个未使用的变量。

const y = true
let x = '' 

return (x = y === true ? 'it is true' : 'it is not true')

我想做一些与此类似的事情(见下文),所以我可以删除 x 的声明,并 return 它在我分配它的同一块中。这似乎不可能。

const y = true
return (let x = y === true ? 'it is true' : 'it is not true')

如果有这样的方法(类似于上面的方法),是否更喜欢以这种方式构建代码?

const y = true
let x = ''
x = y === true ? 'it is true' : 'it is not true'

return x

谢谢!

x一个未使用的变量。你声明它,你初始化它,你分配它一次,但你从未读过它。

你可以写成

const x = y === true ? 'it is true' : 'it is not true'
return x

或(完全删除变量)简单地

return y === true ? 'it is true' : 'it is not true'