跳至內容

eslint/no-inner-declarations 吹毛求疵

此規則的作用

禁止在巢狀區塊中宣告變數或函式

為什麼這是不好的?

變數宣告允許在任何可以放置陳述式的地方,甚至可以深層嵌套在其他區塊內。由於變數提升 (hoisting) 的緣故,這通常是不希望發生的,將宣告移至程式或函式主體的根部可以提高清晰度。請注意,區塊綁定(let、const)不會被提升,因此不受此規則影響。

範例

javascript
if (test) {
  function doSomethingElse() {}
}

參考資料

在 MIT 授權下發布。