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 相关文章推荐
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
完美实现bootstrap分页查询
Dec 09 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
vue v-model动态生成详解
Jun 30 Javascript
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
vue修改Element的el-table样式的4种方法
Sep 17 Javascript
小程序实现tab标签页
Nov 16 Javascript
JavaScript实现简单图片切换
Apr 29 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冒泡算法详解(递归实现)
2014/11/10 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
百度地图api如何使用
2015/08/03 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
图解javascript作用域链
2019/05/27 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
Python多线程同步---文件读写控制方法
2019/02/12 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
读书演讲主持词
2014/03/18 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
毕业证明模板
2015/06/19 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python