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的运行机制和设计理念分析
Apr 05 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
jQuery.each使用详解
Jul 07 Javascript
鼠标悬停小图标显示大图标
Jan 22 Javascript
使用JQuery 加载页面时调用JS的实现方法
May 30 Javascript
jQuery自定义组件(导入组件)
Nov 08 Javascript
浅谈React 属性和状态的一些总结
Nov 21 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
elementUI中Table表格问题的解决方法
Dec 04 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 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 强制下载文件实现代码
2013/10/28 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Python学习笔记之自定义函数用法详解
2019/06/08 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
婚礼主持词开场白
2014/03/13 职场文书
企业宣传口号
2014/06/12 职场文书
公证委托书格式
2014/09/13 职场文书
庆祝儿童节标语
2014/10/09 职场文书
银行竞聘报告范文
2014/11/06 职场文书
材料员岗位职责
2015/02/10 职场文书
大学生党课心得体会
2016/01/07 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
详解Python flask的前后端交互
2022/03/31 Python
TypeScript 内置高级类型编程示例
2022/09/23 Javascript