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 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
简单的jquery拖拽排序效果实现代码
Sep 20 Javascript
node.js中的url.format方法使用说明
Dec 10 Javascript
JS实现定时自动关闭DIV层提示框的方法
May 11 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
Javascript动画效果(4)
Oct 11 Javascript
javascript prototype原型详解(比较基础)
Dec 26 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
Vue 配合eiement动态路由,权限验证的方法
Sep 26 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 Javascript
react ant Design手动设置表单的值操作
Oct 31 Javascript
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
微信小程序实现红包功能(后端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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
Python面向对象特殊成员
2017/04/24 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
python中如何进行连乘计算
2020/05/28 Python
Python中qutip用法示例详解
2020/10/02 Python
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
2014升学宴答谢词
2014/01/26 职场文书
优秀教师工作感言
2014/02/16 职场文书
运动会班级口号
2014/06/09 职场文书
我的中国梦口号
2014/06/16 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
房屋租房协议书范本
2014/12/04 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书