JS的分号可以省掉吗?

本文探讨了JavaScript编程中是否应该省略分号的问题,通过一个实际的错误案例展示了不使用分号可能导致的解析错误。尽管JavaScript有自动分号插入机制,但某些情况下仍可能引发问题。大宗师Douglas Crockford建议正确使用分号以确保代码的稳定性和可读性。同时,文中提供了一种避免分号困扰的速记方案,并提及了错误监控工具Fundebug的重要性。

摘要: JavaScript语言从设计之初就是考虑带分号的,使用不带分号的编码规则就要小心点啦。

背景

最近在项目中开始使用新的编码规范,一开始ESLint报一大堆错误,改得我想砸键盘,花了好些时间才适应,下面列出一些代表性的规则:

  • 只能使用单引号
  • 函数定义的圆括号和左大括号之间一定要有空格: function(args) { .. }
  • import语句在大括号之后一定要有空格: import { fa, fb } from moduleC
  • 不用分号!!!

起因

早上在实现一个功能的时候,写了一个map函数来复用部分代码。程序运行起来后,没有执行结果,而且没有报错。通过console.log打印数据发现,整个程序执行到map前面就再也不往下走了,很奇怪。因为没有报错信息,无法推测具体原因。于是,我将其抽象成非常简单的代码来排查。如下所示:

console.log("hello, fundebug")
[1, 2, 3].map(i=>console.log(i))

然后执行看看结果如何:

在这里插入图片描述
在项目中没有报错,单独将这段代码拿出来在浏览器控制台下执

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值