想问一下大家在写 vue 代码时,习惯句末加上 ; 吗?

2020-02-19 20:41:11 +08:00
 npm
我看 vue 官方都没有在句末加上 ;

但是我写 egg.js 时,egg 官方又推荐加上 ;

而且我之前写 PHP 时,也习惯加上 ;

现在感觉好纠结,到底该不该在句末加上 ;
7932 次点击
所在节点    Vue.js
64 条回复
Tink
2020-02-20 12:04:28 +08:00
@QQAdele2 #4 你在说啥?
lijsh
2020-02-20 12:09:28 +08:00
看团队规范,反正 eslint 可以帮你 fix
lxk11153
2020-02-20 12:10:21 +08:00
所以我选择加,See: "应该将这种机制的依赖降到最低"
FaiChou
2020-02-20 13:04:13 +08:00
看过 react conf 里有一期, 一大佬在上面用 vim 讲解 react hooks, 他说过: 别问我为什么用 let 而不是 const, 年纪大了, 能少敲几下就少敲几个. (大概这么个意思)
Curtion
2020-02-20 13:24:31 +08:00
都是 eslint 来规范的,反正又不需要自己操作,如果是自己的项目就按照自己的想法来设置 eslint 嘛
realkaiway
2020-02-20 13:33:58 +08:00
我个人写 react 配合 eslint 句末加;已经是一种习惯,但奇怪的是 vue-cli 的脚手架不搞这套,所以你要用脚手架的话那索性就不加
creanme
2020-02-20 13:36:00 +08:00
@DOLLOR 这种得手动加
wangyzj
2020-02-20 14:09:31 +08:00
eslint 我记得是没有的
rain0002009
2020-02-20 14:23:05 +08:00
vue 这种因为一般都是经过 babel 处理一下 不加分号 代码更清晰
egg 一般不会用 babel 的吧 加上分号更严谨
Hanggi
2020-02-20 14:40:02 +08:00
别争了,加肯定是要加的,这是 js 标准。但是不需要手动加,用工具,自动添加。
FaceBug
2020-02-20 14:42:24 +08:00
webstorm 不加好像会有一个提示颜色吧,然后一般就加上了。
66beta
2020-02-20 14:45:03 +08:00
建议采用 airbnb 的 js 规范
Mutoo
2020-02-20 14:51:52 +08:00
js 标准是建议加,但是 vue 的创史人 youyuxi 不喜欢加,所以他们不建议加。

不加的话会有歧义,例如

return
{ status: "OK" }

即使用 prettier 或 eslint 也不能正确地自动加上分号,会出现两种结果:

return { status: "OK" };



return;
{ status: "OK" };
Revenant
2020-02-20 15:34:29 +08:00
然而,对使用分号的人而言,ASI 机制有时会很棘手。例如:

return
{
name: "ESLint"
};

这个看起来像是个 return 语句返回一个对象文本。然而,JavaScript 引擎将代码解释成:
return;
{
name: "ESLint";
}

事实上,一个分号插入到 return 语句之后,导致(块中的标签文本)下面的代码不可达。
puilu
2020-02-20 15:38:43 +08:00
配上 eslint,启用保存修复,爱+不+,前端规范乱得跟什么一样。
Martox
2020-02-20 16:21:24 +08:00
不加分号,老 vue 了
amundsen
2020-02-20 17:10:13 +08:00
一楼说得对
amundsen
2020-02-20 17:11:17 +08:00
我自己写已经没有加分号的习惯了,但是注意一些语法插件(lint)执行时可能会出问题。
redbuck
2020-02-20 17:15:11 +08:00
@beastk 会的。

比如
```
(()=>{})()
[].map(i=>i.value)
```
这样的代码就会报错。



不过我是从来不会手动加分号的----代码能做的事干嘛要人做。
lguan
2020-02-20 18:38:07 +08:00
按团队来,我要求加,定 eslint,让 eslintrc 自动加

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/645934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX