国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

CoffeeScript?TypeScript?還是JavaScript

瀏覽:3日期:2023-11-23 13:45:48

請注意本文只是我的偏見,我努力地理解借助CoffeeScript或TypeScript之類的編譯器寫JavaScript代碼的理由。靜態(tài)編譯、強類型語言和框架,我有著這些流行的、豐富的背景。我的上一份工作就是使用TypeScript,因為我不得不使用。那是一段不快樂的時光,我將因此而離開。

我很幸運地把自己從這種困境和負擔中釋放出來,正在完全地使用JavaScript編寫代碼,我對此感到格外高興!如果我對于這種變化的熱情還不夠明顯,請讓我向你保證,我現(xiàn)在更開心了。有一點很重要,我不是在暗示靜態(tài)編譯或強類型語言有什么錯誤,因為它肯定沒錯。它只不過不再是我的菜了。

鑒于JavaScript的動態(tài)本性以及缺乏靜態(tài)類型檢查,我可能編寫著低質(zhì)量代碼,充斥著bug卻不能在編譯時發(fā)現(xiàn),對嗎?答案是毫不含糊的,不對!我從來不能這樣有動力、多產(chǎn)、富有表現(xiàn)和高效。我沒有編寫過最少bug的高質(zhì)量代碼,也不能在發(fā)現(xiàn)bug后快速修復(fù)。或許你想知道,我是否在編寫風格統(tǒng)一的JavaScript,它們遵循最佳實踐和風格,卻沒有編譯器?答案是,對的!我不是故意在這里鼓吹自己,而是要指出,靜態(tài)編譯的缺乏不一定會導(dǎo)致更多的bug和低質(zhì)量的代碼。

的確,有很多方法來確保JavaScript代碼被正確地編寫、遵循推薦的風格和最佳實踐。更不要說編寫高質(zhì)量JavaScript成為了第二天性,自然地,你傾向于遵循你學到的、同樣優(yōu)秀的模式。你還應(yīng)該總是編寫合適的單元測試,這是一種最佳實踐和另一種應(yīng)對bug的防御,有助于確保預(yù)期的功能。我們不要忘了,合適的代碼審核也是一種最佳實踐,應(yīng)該去用。

那么,為什么要用這些編譯器,好處又是什么呢?答案是,我也不知道。是不是應(yīng)該有可以編譯成Ruby和Python的RubyScript和PythonScript呢?在我看來,如果你不喜歡、或者不想編寫JavaScript代碼,那么你可能就不應(yīng)該做一名JavaScript開發(fā)人員。它是古怪的、不完美的語言?它絕對是,但是它一直在變得更好。大部分的怪癖和遺漏在ECMAScript Harmony【注1】中提出了,比如:ES.next。

我認為使用某種編譯器只有一個原因,那就是,如果你是高級專家、JavaScript大拿,不喜歡原生JavaScript,只是想簡單快捷地做些東西。如果你不是剛才提到的專家,那么我真地相信你只是在傷害自己而逃避原生JavaScript。你干嘛這么問?答案是,JavaScript正變得無處不在,成為莊重的、令人驚嘆的語言。它已經(jīng)融入了所有的web和移動環(huán)境、使用Node.js的服務(wù)器,還有數(shù)據(jù)庫(比如MongoDB),甚至最近的硬件級別的處理(比如arduino)。

我讀了很多博客、newsletter、書、文章、論文、文檔、MDN等與JavaScript相關(guān)的東西。它們都包含了用原生JavaScript編寫的代碼,我很少看到作者用CoffeeScript或類似語言呈現(xiàn)的代碼,在極少場合碰到這些代碼時,我會立即停止閱讀,因為我只對JavaScript、而不是它的其它版本感興趣。

如果你曾經(jīng)計劃、或者有興趣在工作中用到基于JavaScript的數(shù)據(jù)庫(比如MongoDB),那么你需要知道如何編寫JavaScript。你不能用CoffeeScript來查詢MongoDB,也不能沒有預(yù)編譯就用CoffeeScript為Node.js編寫基于服務(wù)器端的JavaScript,即使你有能力,也不能這樣做。

在GitHub上,如潮水般涌來的、表面上有數(shù)百萬種的JavaScript資源庫和框架,該怎么樣呢?大型的有jQuery、AngularJS、Underscore等等。我強烈推薦深入學習JavaScript,這樣你不僅能夠閱讀和理解源代碼,還可以調(diào)試它。是的,說到了調(diào)試,不管是你是在瀏覽器,還是使用Webstorm為Node.js調(diào)試JavaScript,都會涉及到原生JavaScript。

我最后想指出的是與其他人的協(xié)作(比如GitHub),或者找一份JavaScript工作室的工作。如果順利的話,掌握原生JavaScript的好處應(yīng)該比較明顯。當你入職第一天走進嚴肅的JavaScript工作室、提出CoffeeScript編譯器的問題,你能夠想象得到這是什么情景嗎?

重申,如果你是高級專家JavaScript大拿,那么編譯器可能就是好的嗎?盡管如此,我懷疑你會不會成為這樣的大拿,如果你因為青睞某種編譯器而避免學習、編寫原生JavaScript的話。如果你擔心靜態(tài)檢查和風格,可以嘗試一些構(gòu)建工具(比如,Grunt、Gulp、Node、NPM等)。很多插件運行非常不錯。對于既定代碼,使用CoffeeScript或TypeScript是為了查看編譯好的JavaScript,然后模擬原生代碼的輸出。無論怎樣,幫自己一個忙,優(yōu)先掌握JavaScript。

注1:ECMAScript Harmony將會以“ECMAScript 6”發(fā)布。http://zh.wikipedia.org/wiki/ECMAScript

原文:http://innoarchitech.com/coffeescript-typescript-javascript/ 翻譯:labazhou

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 玖玖在线国产精品 | 91最新网站 | 成人毛片免费在线观看 | 久久精品青草社区 | 欧美午夜伦y4480私人影院 | 亚洲精品国产专区91在线 | 欧美性xxxx18| 精品在线视频观看 | 国产精品久久久久久久久久久不卡 | 国产在线拍揄自揄视精品不卡 | 香港日本韩国三级网站 | 欧美性妇 | 国产三级午夜理伦三级 | 97视频在线观看免费视频 | 国产a级特黄的片子视频免费 | 欧洲欧美成人免费大片 | 亚洲精品毛片久久久久久久 | 全免费a级毛片免费看不卡 全免费毛片在线播放 | 欧美日韩视频一区三区二区 | 草草影院ccyy国产日本欧美 | 韩国一级毛片大全女教师 | 中文字幕 亚洲 一区二区三区 | 久久国产精品免费 | 爽爽爽爽爽爽爽成人免费观看 | 亚洲一级黄色毛片 | 欧美成人免费全部观看天天性色 | 亚洲伊人久久综合影院2021 | 久久精品全国免费观看国产 | 亚洲一级毛片中文字幕 | 一级绝黄 | 综合自拍亚洲综合图区美腿丝袜 | 国产一级黄色网 | wwwxx在线| 免费看一片| 国产精品国产三级国产an | 亚洲欧美一区二区三区四区 | 欧美三级成版人版在线观看 | 国产精品极品美女自在线看免费一区二区 | 亚洲精品一区二区三区在线观看 | 久久tv免费国产高清 | 国产精品欧美激情在线播放 |