用大括号将代码括起来是好习惯吗?

Is it good practice to surround code with braces?

为了在 IDE 的 compress/collapse 中编写代码,用大括号 { } 包围代码可以吗?

例如:

{
    function foo(a,b) {
        return a*b+b;
    }

    function bar(a,b,c) {
        return a*b+c;
    }
}

这会在我的 IDE 中崩溃为以下内容:

{ ...
}

是否允许使用这些额外的大括号,或者在语法上是否不正确? (我知道它有效,因为代码 运行 没有任何语法错误。)

您已经回答了您的问题:

Are these extra braces allowed, or would it be syntactically incorrect?

(I know it works because the code has run without any errors regarding syntax)

从 ES2015 开始,它在语法上是允许的。

但是,这些普通块有一些问题:

  • 其中的函数声明有效(因此在某些情况下使用它们可能会使人感到困惑)
  • 它们很少见 - 通常,脚本编写者不使用它们,也不希望它们出现,因此使用这样的块可能会使一些人感到困惑

如果您需要“压缩”代码的能力——将相关代码的各个部分分组而不会使脚本混乱——请考虑改用模块。例如

// fooAndBar.js
export function foo(a, b) {
  return a*b+b;
}
export function bar(a, b, c) {
  return a*b+c;
}

然后在需要的时候导入函数即可。

维护和调试 8 个每个 50 行的文件比维护和调试一个每个 400 行的文件要容易得多。如果您必须折叠块以使内容更易于阅读,可能是时候重构到另一个文件了。