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操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
在jQuery中 关于json空对象筛选替换
Apr 15 Javascript
jQuery实现切换字体大小的方法
Mar 10 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
JavaScript严格模式详解
Nov 18 Javascript
jQuery使用deferreds串行多个ajax请求
Aug 22 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
js获取地址栏中传递的参数(两种方法)
Feb 08 Javascript
彻底学会Angular.js中的transclusion
Mar 12 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 Javascript
详解vue组件之间的通信
Aug 30 Javascript
浅谈克隆 JavaScript
Nov 02 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python文件操作相关知识点总结整理
2016/02/22 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
Python jieba库用法及实例解析
2019/11/04 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
高二英语教学反思
2014/01/19 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
经济职业学院毕业生自荐书
2014/03/17 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
Python开发五子棋小游戏
2022/04/28 Python