日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

[译] 原生 JavaScript 值得学习吗?答案是肯定的

發(fā)布時間:2024/4/13 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译] 原生 JavaScript 值得学习吗?答案是肯定的 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 原文地址:Is Vanilla JavaScript worth learning? Absolutely.
  • 原文作者:David Kopal
  • 譯文出自:掘金翻譯計劃
  • 本文永久鏈接:github.com/xitu/gold-m…
  • 譯者:lampui
  • 校對者:kyrieliu、Calpa Liu

這篇文章的意圖是要給每位前端開發(fā)者強調(diào) JavaScript 的基本原理。原生(Vanilla)是指沒有額外框架或庫的 JavaScript。本文將會告訴你為什么應(yīng)該對原生 JavaScript 有一個較好的認(rèn)識。

我也會提及一些幫助過我學(xué)習(xí)這些基本原理的資源。

寫這篇文章背后的另一個原因是許多有抱負(fù)的 web 開發(fā)者傾向于跳過 JavaScript 核心概念的學(xué)習(xí),諸如提升、閉包或原型。他(她)們直接學(xué)習(xí)最熱門的框架,例如 React 或 Angular 2。我會向你說明為什么這種方法不能稱之為一條捷徑。

每個人都想要有 ${請?zhí)顚憻衢T的框架名字} 知識的開發(fā)者…

那么,還有什么理由讓你再費事去學(xué)習(xí)原生 JavaScript 嗎?

不了解一門語言本身的核心知識那是很難成為一名大神的,就像在你去一個有特定法律的領(lǐng)域之前,你需要先清楚法律的一些基本原則。這個比喻真的很巧。?

我能理解大多數(shù)熱血十足的 web 開發(fā)者想盡快地找到工作的心情。因為我也想。

看起來去上一門 JavaScript 基礎(chǔ)速成班、鉆研一些框架、開發(fā)個 ToDo 列表(let a puppy die)和上傳到 GitHub,然后再開始找工作會簡單些。

…但從長遠(yuǎn)來看,把時間投入到原生 JavaScript 的學(xué)習(xí)會更有收獲

別誤會我,無論如何我都不是對 JavaScript 的各種框架有偏見。恰好相反,許多框架反而能讓你書寫出可讀性和維護(hù)性更高的代碼,這些框架還能讓你寫出比平時更容易調(diào)試的抽象代碼。

但 JavaScript 生態(tài)進(jìn)化得非常快,新框架層出不窮,新功能不斷地被添加到已有的功能上,最重要的是,眼下許多熱門的框架遲早都會被替代,例如 Angular 1。

在這樣的環(huán)境下,你還認(rèn)為具備某個 JavaScript 框架的知識對一名 web 開發(fā)者來說就足夠了嗎?

還是去理解這門語言是如何在這些框架和庫的背后運作好點?

Yes, 你對了!當(dāng)然是第二個選擇。
如果你有一個很扎實的 JavaScript 基礎(chǔ),當(dāng)開始工作的時候唯一需要讓自己熟悉的就是新框架的語法,在所有層次的抽象下,基本的規(guī)則還是一樣的,它還是純粹的 JavaScript。

如果你的知識僅限于某個 JavaScript 框架,那你學(xué)習(xí)另一個新框架的時候會很艱難。不同的框架通常是基于不同的 JavaScript 原則。從長遠(yuǎn)來看,你會花跟多時間去理解不同的框架和調(diào)試你寫的代碼。

所有的 JavaScript 框架和庫都不可避免地基于原生 JavaScript。

從長遠(yuǎn)來看,這應(yīng)該能說服任何人掌握原生 JavaScript 是必須的。這是對任何一名成功開發(fā)者的必要條件,特別是對于一個主要工作在 JavaScript 生態(tài)下的開發(fā)者。

個人經(jīng)驗

不久前,我回顧了自己是怎樣從一名律師轉(zhuǎn)變?yōu)橐幻?web 開發(fā)者的過程,從我開始寫第一個 JavaScript 函數(shù)算起,都有 18 個月了,并且現(xiàn)在是我成為專業(yè)前端開發(fā)者的第 10 個月了。

我依然記得摸索正確的 JavaScript 學(xué)習(xí)之路對我來說是多么地有挑戰(zhàn)性,因為我之前沒有任何的編程經(jīng)驗。我嘗試過(至今還在嘗試)許多不同的方法成為一名高效的學(xué)習(xí)者,有些方法會讓我收獲很多,有些卻較少。

最重要的是,開始的時候我把重點放在了學(xué)習(xí)原生 JavaScript 上面,這對我的幫助太不可思議了。接下來是框架。

picture credit
現(xiàn)在,我在工作中用的是 React-Redux 技術(shù)棧。即便如此,我經(jīng)常能用原生 JavaScript 的知識解決眼下的一些問題。如果只具備某個框架的知識,這些 bugs 解決起來將會更具挑戰(zhàn)性。

學(xué)習(xí) React 或 Angular 2 不會教你對象是通過引用傳遞或閉包是怎樣工作的。在更加抽象的框架下,嘗試去理解這些概念那就更加困難了。這就使簡單的 JavaScript 概念變得更難以理解。

此外,如果你工作中用的是 JSX (React, Vue, Inferno) 或 TypeScript (Angular 2),那你還有另一層的抽象層。

如果你想明白這些框架背后是怎樣工作的,你需要先明白 JavaScript 本身是怎樣工作的。

你可以通過閱讀自己喜歡的框架的源代碼考考自己對原生 JavaScript 的認(rèn)識。這樣不僅能夠呈現(xiàn)一副這些框架背后工作的畫面給你,同時也能教會你許多邏輯,順便還可以用到工作中。你會看到框架里的函數(shù)貌似在你的應(yīng)用中施了很多魔法,但其實這只是一些 JavaScript 基本概念的組合。

給我一些可以去學(xué)習(xí)的東西

你現(xiàn)在可能會問“哪些是能夠幫助我學(xué)習(xí)原生 JavaScript 知識的好資源?”。

現(xiàn)在已經(jīng)有太多關(guān)于 JavaScript 及其框架的課程和書籍。但只有少數(shù)是全面地教你理解原生 JavaScript 的,大多數(shù)還是專注于某個具體的 JavaScript 技術(shù)。

但依然還是存在好資源的…

《JavaScript 編程精解》不僅會教你基本的 JavaScript,同時也會教你廣泛適用的編程技巧。如果你已經(jīng)是一名高級開發(fā)者,這本書會向你提供一個關(guān)于 JavaScript 和它的核心原則的新視角。

另外一個非常不錯的資源是 Kyle Simpson 寫的《你不知道的 JavaScript》。Kyle 真的知道如何去施教,關(guān)于高級的 JavaScript 概念對初學(xué)者解釋得很友好,并且他將它們涵蓋的很深。僅僅是這幾本書的標(biāo)題就已經(jīng)告訴你要去學(xué)習(xí)什么,“Up & Going”、“Scope & Closures”、“this & Object Prototypes”、“Types & Grammar”、“Async & Performance”、“ES6 & Beyond”。現(xiàn)在已經(jīng)有第七冊書,名字叫 JavaScript 中的函數(shù)式編程。

《JavaScript 編程精解》和《你不知道的 JavaScript》這兩套書共同的好處就是你都可以免費獲得(查看給出的鏈接)。但如果你發(fā)現(xiàn)它們對你很有幫助,別忘記通過購買它們以對作者表示支持。

如果你更傾向于看視頻學(xué)習(xí),你可以觀看 Kyle 的在線課,我覺得最好把看視頻作為是看書的輔助學(xué)習(xí),因為這些主題都是一樣的。當(dāng)然啦,這些課程都是免費的。

另一個我覺得有幫助的視頻教程是 Anthony Alicea 的 Javascript: Understanding the Weird Parts。這個教程以循序漸進(jìn)的方式解釋了 JavaScript 背后發(fā)生的事,同時這門教程涵蓋了諸如原型繼承、函數(shù)式編程和作用域鏈的高級概念。

馬上學(xué)習(xí)原生 JavaScript 吧

如果你之前投入過時間學(xué)習(xí)原生 JavaScript,那你肯定不會后悔。不僅僅是因為原生,同時也是因為這會對你日后的編程技巧有好的影響。

對我來說,最好的權(quán)衡是相對于花時間學(xué)習(xí)一門指定的框架,學(xué)習(xí)原生 JavaScript 會在未來帶給你更多好處。框架只是捷徑,背后其實都是 JavaScript。

當(dāng)你用上某個框架,并在某個地方出現(xiàn)異常時你就會明白了,在這種情況下,你會被迫通過瀏覽源代碼去調(diào)查這個 bug。我是不是提到過,雖然許多框架欠缺得體的文檔,但它們卻有復(fù)雜的代碼?但是,小菜一碟,對嗎?你肯定已經(jīng)花了很多時間學(xué)習(xí)原生 JavaScript 了?還是沒有?

從這篇文章中你應(yīng)該記住一件事:

牢牢記住原生 JavaScript 會幫助你成為一名更好的開發(fā)者。完

如果你喜歡這篇文章,鼓個掌吧,我會很感激你的。

Twitter 見 ?


掘金翻譯計劃 是一個翻譯優(yōu)質(zhì)互聯(lián)網(wǎng)技術(shù)文章的社區(qū),文章來源為 掘金 上的英文分享文章。內(nèi)容覆蓋 Android、iOS、React、前端、后端、產(chǎn)品、設(shè)計 等領(lǐng)域,想要查看更多優(yōu)質(zhì)譯文請持續(xù)關(guān)注 掘金翻譯計劃、官方微博、知乎專欄。

超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的[译] 原生 JavaScript 值得学习吗?答案是肯定的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。