百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> JS 代码要不要加分号?
分享文章到:

JS 代码要不要加分号?

发布时间:09/01 来源:未知 浏览: 关键词:

JavaScript 中分号划分了社区。有些人不管怎样都喜爱使用分号。其别人喜爱不加分号。

在使用分号多年之后,2017 年秋,我决议尝试按照需要不加分号,并且设定 Prettier 主动移除我代码中的分号,除非是必要的代码构造需要它们。

此刻我发明,不使用分号非常天然,我认为这样的代码看起来更好,它们更简约易读。

这完全大概的,由于 JavaScript 并不严厉要求分号。当某个地方需要分号时,它会在后台增加它。

这个历程就叫做 主动插入分号.

重要的是理解使用分号的规则,这样可以幸免编写会发生 bug 的代码,由于它们的行动与您盼望的不一样。

JavaScript 主动增加分号的规则

JavaScript 说明器在说明源码时发明以下非凡状况,会主动增加分号:

  • 当下一行代码开头中止当前行代码时(代码可以多行编写)

  • 当下一行以 } 开头,关闭当前块

  • 当抵达源码的结尾时

  • 当 return 声明在当前行

  • 当 break 声明在当前行

  • 当 throw 声明在当前行

  • 当 continue 声明在当前行

与你的设法不一样的代码示例

于这些规则,这里有一些例子。

看例子:

const hey = 'hey'
const you = 'hey'
const heyYou = hey + ' ' + you
['h', 'e', 'y'].forEach((letter) => console.log(letter))

你会得到错误 Uncaught TypeError: Cannot read property 'forEach' of undefined,由于基于规则 1,JavaScript 会尝试将代码说明为

const hey = 'hey';
const you = 'hey';
const heyYou = hey + ' ' + you['h', 'e', 'y'].forEach((letter) => console.log(letter))

这段代码:

(1 + 2).toString()

打印为 "3".

const a = 1
const b = 2
const c = a + b
(a + b).toString()

而是激发 TypeError: b is not a function 非常,由于 JavaScript 尝试将其说明为

const a = 1
const b = 2
const c = a + b(a + b).toString()

另一个基于规则 4 的例子:

(() => {
  return
  {
    color: 'white'
  }
})()

你但愿此马上调取的函数的返回值是一个包括 color 属性的对象,但事实并非如此。相反,它是 undefined,由于 JavaScript 在 return 之后插入分号。

相反,你应当将左括号放到 return 后面:

(() => {
  return {
    color: 'white'
  }
})()

你认为这段代码会展现 '0':

1 + 1
-1 + 1 === 0 ? alert(0) : alert(2)

相反它会展现 2,由于 JavaScript 按照规则 1 会说明为:

1 + 1 -1 + 1 === 0 ? alert(0) : alert(2)

完毕语

留神。有些人对分号很成心见。我倒不是很在意,这个工具供给给我们一个不使用它的选中,所以我们可以幸免使用分号。

我不是在倡议什么,只是让你本人做决议。

我们只需要留意一点,即便大多数状况下这些根本场景从未显现在您的代码中。

摘选一些规则,如下:

  • 当心使用 return 语句。假如您返回某个内容,请将其增加到与返回内容雷同的行中(相似还有 break、throw、continue)

  • 永久不要使用括号开端一行,这些大概与前一行连接起来,构成函数调取或数组元素援用

最后,始终测试您的代码,以确保它能知足您的需要。

引荐教程:《JS教程》

以上就是JS 代码要不要加分号?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有162人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板