为什么我可以 运行 和构建 Javascript 而不用分号?

Why am I able to run and build Javascript without semicolons?

在一个在线课程中,我在 Udemy 上关注,讲师在行后加上分号,并说需要分号。我忘了放一些因为我刚下车 Python 而代码仍然是 运行.

var firstName = 'John';
console.log(firstName);

var lastName = 'Smith';
var age = 28;

console.log(lastName)
console.log(age)

当我右键单击浏览器并单击控制台时,会显示名字、姓氏和年龄。任何人都可以帮助解释为什么它没有分号就可以工作吗?我假设在编写 Javascript.

时需要它们

JavaScript 实际上 不需要 分号。除非你在同一行写了多个语句(请不要,for 循环除外)

这是因为Javascript解析器会在以下情况下自动为您插入分号:

Copypasta from Flavio Copes' Let’s talk about semicolons in JavaScript

  1. 当下一行以中断当前行的代码开始时(代码可以在多行上生成)
  2. 下一行以}开头时,关闭当前块
  3. 到达源代码文件末尾时
  4. 当有一个 return 语句在它自己的行上时
  5. 当它自己的行上有一个 break 语句时
  6. 当它自己的行上有一个 throw 语句时
  7. 当在它自己的行上有一个 continue 语句时

为获得最佳实践,应手动插入分号。