node.js到底要不要加分號淺析
前言
一開始,關(guān)于在node.js句末不加分號,我是拒絕的。因為有時不加分號會報錯。
我覺得node.js在語法層面挺擰巴的,要么就像PHP那樣嚴(yán)格要求加分號,要么就像python一律不加分號。而node.js卻表現(xiàn)出一副欲拒還迎的姿態(tài),讓人感覺就是既要擁抱變化,又要抱殘守缺。

加不加分號,這是一個問題
直到有一天我了解了加不加分號的場景,才終于釋然
一言以蔽之:當(dāng)代碼是以 ( [ ` 這些符號開頭時,就需要在代碼之前加上分號,其他場景都不需要加分號
let msg = '加不加分號呢'
(function () {
console.log('我是一個匿名函數(shù)')
}())
結(jié)果報錯:
我是一個匿名函數(shù)
/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('我是一個匿名函數(shù)')
}())
同理,以 [ 或 ` 開頭的代碼應(yīng)該這么寫:
;['章北海', '羅輯'].forEach(function (item) {
console.log(item)
})
;`
宇宙中究竟有多少個文明?
高級文明會怎么對待地球?
是友善地相處?
還是殘忍地消滅?
或者只是安靜地觀察?
`.toString()
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
用C/C++來實現(xiàn) Node.js 的模塊(一)
這篇文章的主要內(nèi)容其實簡而言之就是——用C/C++來實現(xiàn) Node.js 的模塊,非常的不錯,有需要的朋友可以參考下2014-09-09
node.js中的fs.appendFileSync方法使用說明
這篇文章主要介紹了node.js中的fs.appendFileSync方法使用說明,本文介紹了fs.appendFileSync方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下2014-12-12
node.js調(diào)用腳本(python/shell)和系統(tǒng)命令
這篇文章介紹了node.js調(diào)用腳本(python/shell)和系統(tǒng)命令的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07

