node.js到底要不要加分號淺析
前言
一開始,關于在node.js句末不加分號,我是拒絕的。因為有時不加分號會報錯。
我覺得node.js在語法層面挺擰巴的,要么就像PHP那樣嚴格要求加分號,要么就像python一律不加分號。而node.js卻表現(xiàn)出一副欲拒還迎的姿態(tài),讓人感覺就是既要擁抱變化,又要抱殘守缺。
加不加分號,這是一個問題
直到有一天我了解了加不加分號的場景,才終于釋然
一言以蔽之:當代碼是以 ( [ ` 這些符號開頭時,就需要在代碼之前加上分號,其他場景都不需要加分號
let msg = '加不加分號呢'
(function () { console.log('我是一個匿名函數(shù)') }())
結果報錯:
我是一個匿名函數(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ù)') }())
同理,以 [ 或 ` 開頭的代碼應該這么寫:
;['章北海', '羅輯'].forEach(function (item) { console.log(item) }) ;` 宇宙中究竟有多少個文明? 高級文明會怎么對待地球? 是友善地相處? 還是殘忍地消滅? 或者只是安靜地觀察? `.toString()
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
nodejs npm install全局安裝和本地安裝的區(qū)別
這篇文章主要介紹了nodejs npm install 全局安裝和非全局安裝的區(qū)別,即帶參數(shù)-g和不帶參數(shù)-g安裝的區(qū)別,需要的朋友可以參考下2014-06-06Node Mongoose用法詳解【Mongoose使用、Schema、對象、model文檔等】
這篇文章主要介紹了Node Mongoose用法,結合實例形式分析了Mongoose使用、Schema、對象、model文檔等基本原理、用法及操作注意事項,需要的朋友可以參考下2020-05-05nodejs中解決異步嵌套循環(huán)和循環(huán)嵌套異步的問題
本篇文章主要介紹了nodejs中解決異步嵌套循環(huán)和循環(huán)嵌套異步的問題,具有一定的參考價值,有興趣的可以了解一下2017-07-07