小编Uro*_*ooj的帖子

为什么在 JavaScript 中将函数声明作为 If 语句主体不会导致错误?

在 MDN 文档的“声明和声明”中提到:

\n
\n

术语“语句”和“声明”在 JavaScript 的正式语法中具有精确的含义,这会影响它们在代码中的放置位置。例如,在大多数控制流结构中,主体仅接受语句 \xe2\x80\x94,例如 if...else 的两个分支。如果使用声明而不是语句,则会出现语法错误。例如,let 声明不是语句,因此您不能将其纯粹形式用作 if 语句的主体。

\n
\n

下面的代码会报错:

\n
if(true) \n  let x = 0;\n
Run Code Online (Sandbox Code Playgroud)\n

现在函数声明也只是声明吧?那么为什么下面的代码没有给出同样的错误呢?

\n
if(true)\nfunction foo() {}\n
Run Code Online (Sandbox Code Playgroud)\n

javascript if-statement syntax-error language-lawyer conditional-statements

7
推荐指数
1
解决办法
137
查看次数

MongoDB:如何将聚合管道中的所有文档合并为单个文档

我当前的聚合输出如下:

[
    {
        "courseCount": 14
    },
    {
        "registeredStudentsCount": 1
    }
]
Run Code Online (Sandbox Code Playgroud)

该数组有两个文档。我想将所有文档合并到一个包含 mongoDB 中所有字段的文档中

aggregation mongodb

3
推荐指数
1
解决办法
3362
查看次数