现在写 js/ts 语句末尾加分号吗?

最近团队开发项目,发现有的人全程不加分号,有的人全程加分号,有的人随缘加分号。。希望统一一下,大家推荐加不加呢? react ts 项目

阅读 13.4k
11 个回答

建议使用分号

我曾经实践过一段时间不用分号,在常用函数式编程的时候经常掉坑里,最后还是把分号都加上了

在某个语句以括号开始时,不用分号很容易造成解释错误(会被认为是上一句继续写的)

加上。使用tslint来规范代码,设置git的precommit钩子跑一遍tslint,如果不规范不让提交

规范这东西,难道不应该是团队内部协商好,配合 Code Review 来实行的吗……

虽然 JS/TS 从语法上来说确实不必须结尾加分号,如果不加是由解释器自行决定。

但如果不加的话,可能会导致一些奇怪的错误,https://www.tuicool.com/artic... 这篇文章里举了很好的几个例子。

希望加上吧,特别是 ts 一定要加上。有些用 vue 的项目,用的是 eslint- standard, 此时 js 不加分号也可。根据项目来,保持项目上代码风格的一致。

我以前习惯了全部加分号,现在习惯了全部不加,这两种我都可以接受,唯一不能接受的就是随缘分号,看起来很别扭。当然你团队非要执行其中一种,我的建议是看你们团队加分号的多,还是不加分号的多然后内部协调一下用哪种。

我建议不加分号,首先,这个分号是多余的。怎么定义这个“多余”呢? a. 有无都没问题,添加反而增加打字成本(有人说习惯就好,那就当yy一下) b. 参考其他语言很多都向更简单的语法发展 如Python、golang 能省掉的都省掉。另外,至于说是不加会有bug,这个我个人认为还是要“好好写代码”去避免的,不要拐到分号上面。我找了一篇别人博文,顺便学习了一下,里面说了几个场景,大都是奇怪的写法以及代码格式不对导致的。

https://flaviocopes.com/javas...

建议添加,不添加以后优化或者修改的时候编辑器格式化代码有可能格式化到一行(吃过不写封号的亏),然后直接上线报错

建议写分号:末尾加分号不会引起什么问题,不加分号可能会引起一些bug,例如

let arr = [1,2,3]
[1].map(item => item + 1)

不添加分号,是更严谨的代码书写规范。

推荐使用 Prettier - Code formatter ,vscode扩展

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏