node.js到底要不要加分号浅析


Posted in Javascript onJuly 11, 2018

前言

一开始,关于在node.js句末不加分号,我是拒绝的。因为有时不加分号会报错。

我觉得node.js在语法层面挺拧巴的,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。而node.js却表现出一副欲拒还迎的姿态,让人感觉就是既要拥抱变化,又要抱残守缺。

node.js到底要不要加分号浅析

加不加分号,这是一个问题

直到有一天我了解了加不加分号的场景,才终于释然

一言以蔽之:当代码是以 ( [ ` 这些符号开头时,就需要在代码之前加上分号,其他场景都不需要加分号
let msg = '加不加分号呢'

(function () {
 console.log('我是一个匿名函数')
}())

结果报错:

我是一个匿名函数
/Users/airmb/code/node/01/04.js:3
(function () {
^

TypeError: "加不加分号呢" is not a function
    at Object.<anonymous> (/Users/airmb/code/node/01/04.js:3:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3

正确的写法:

let msg = '加不加分号呢'

;(function () {
 console.log('我是一个匿名函数')
}())

同理,以 [ 或 ` 开头的代码应该这么写:

;['章北海', '罗辑'].forEach(function (item) {
 console.log(item)
})

;`
宇宙中究竟有多少个文明?
高级文明会怎么对待地球?
是友善地相处?
还是残忍地消灭?
或者只是安静地观察?
`.toString()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery源码分析-01总体架构分析
Nov 14 Javascript
js绑定事件this指向发生改变的问题解决方法
Apr 23 Javascript
优化javascript的执行效率一些方法总结
Dec 25 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
详解js中class的多种函数封装方法
Jan 03 Javascript
javascript判断图片是否加载完成的方法推荐
May 13 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 Javascript
JS代码编译器Monaco使用方法
Jun 11 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 #Javascript
Vue如何实现响应式系统
Jul 11 #Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 #Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 #Javascript
vue使用中的内存泄漏【推荐】
Jul 10 #Javascript
Vue脚手架的简单使用实例
Jul 10 #Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 #Javascript
You might like
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
浅析php数据类型转换
2014/01/09 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
在Python中使用dict和set方法的教程
2015/04/27 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
python中返回矩阵的行列方法
2018/04/04 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
专科文秘应届生求职信
2013/11/18 职场文书
企业总经理职责
2014/02/02 职场文书
开服装店计划书
2014/08/15 职场文书
暑期培训班策划方案
2014/08/26 职场文书
法人委托书的范本格式
2014/09/11 职场文书
六一儿童节标语
2014/10/08 职场文书
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL