当前位置: 移动技术网 > IT编程>开发语言>JavaScript > node.js到底要不要加分号浅析

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

2018年08月10日  | 移动技术网IT编程  | 我要评论

前言

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

我觉得node.js在语法层面挺拧巴的,要么就像php那样严格要求加分号,要么就像python一律不加分号。而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()

总结

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网