import语句实际上需要分号吗?

时间:2016-11-18 03:07:35

标签: ecmascript-6

我发现离子项目中我的.ts文件的一些import语句写成:

$ python ticTacToe.py

None
Traceback (most recent call last):
  File "test.py", line 115, in <module>
    main()
  File "test.py", line 11, in main
    for child in nextMoves.children:
AttributeError: 'NoneType' object has no attribute 'children'

而不是

import { Component } from '@angular/core'

,错过了分号,项目似乎正常运行,导入语句实际上最后需要分号吗?

3 个答案:

答案 0 :(得分:1)

Javascript只需要分号来分隔同一行中的语句。但是我建议你坚持好的做法并使用它们。

来自style guide for typescript

  

使用分号:

<强>理由: 显式分号有助于语言格式化工具提供一致的结果。缺少ASI(自动分号插入)可以使新的开发者绊倒,例如

foo() (function(){}) 

将是一个单一的陈述(而不是两个)。

我知道最终这是一个风格问题,因为如果你不严格要求你不使用它们就不应该有任何问题,虽然为了保持一致,最好使用它们而不是

这也是一篇非常好的文章。 https://www.codecademy.com/blog/78

希望这有帮助!

答案 1 :(得分:1)

OP 询问是否在导入语句中需要分号

在声明变量、返回内容或进行变量调用时使用分号,因为您在导入时声明变量,我的理解是您应该使用分号。

答案 2 :(得分:0)

就像JavaScript中的任何其他行一样,您不需要它。