多年來,JAVAScript發生了很大的變化,并已成為最流行的語言之一。 這是我的,并且有很多開發人員喜歡/首選的編碼語言,因此,您絕對應該首先嘗試這10件事。
This和Global
" this"是關于JavaScript最令人困惑的事情之一,在ES2020中,我們獲得了" globalThis",這無疑有助于簡化事情并在其他" this"之間建立明確的區分。
之所以得到" globalThis",是因為在瀏覽器中,global是"窗口",在NodeJs中是" global",而在worker內部是" self"。一團糟吧?
一些語言(如swift和Python)將其稱為"self",而其他語言(如Java)則將其稱為" this",而Javascript" this"的行為則有所不同。
" this"可以指對象或類的實例。它也根據函數調用方式而變化。它是您所處的上下文,并且在嚴格和非嚴格模式下也會發生變化。需要更多理由真正嘗試掌握它嗎?
對象
Javascript中的一切都是對象。這應該是尋求使用Javascript掌握對象的唯一原因,但讓我告訴您更多。
Class和Array是事物的兩個示例,它們只是底層的對象。要了解對象,您需要了解Javascript的原型性質,包括原型繼承和原型。
這些屬性使Javascript如此靈活,并且是您可以使用Java進行幾乎所有操作的核心原因之一。您使用的每個庫和工具都會在后臺使用對象原型,這會讓您想要創建東西。
類
掌握對象之后,您必須掌握Class,這些Class只是對象和底層的構造函數。
當您了解對象時,您將了解Javascript類的局限性和強大功能。如果您來自于面向對象的語言,或者是對面向對象編程的狂熱愛好者,那么引入類就可以使整體成為可能。
類已成為開發人員避免使用Javascript怪異的原型性質而只關注于正在構建的事物的首選方法。
作用域和閉包
我試圖向某人解釋作用域和閉包,這讓我很震驚。 人們常常被他們弄糊涂,并且沒有意識到作用域是如何在給定上下文的情況下對如何執行代碼有很多要求的。
對我來說,作用域是關于創建盒子,而閉包只是一個特殊的盒子。 我實際上創建了一個視頻試圖對其進行解釋。 讓我知道你的想法?
了解作用域將幫助您創建可一起使用的代碼,并且如果您喜歡封裝和函數式編程的想法,那么閉包只是您應該使用的強大工具。
數據結構
這是一個很大的話題,但是如果不了解數據結構,就無法做我今天做的事情,也無法理解如何創建Web上的東西。
在任何語言中,尤其是在數組實際上不是數組的Java語言中,這都是一個重要的主題?
了解數據結構是工程師的思維方式。這是一條真正使您與其他開發人員區分開的知識。
單線程,非阻塞,異步,并發
這幾乎就是Javascript的定義,并且理解它的含義是專業級的東西。
了解為什么Javascript是單線程的將告訴您它更適合哪種應用程序。
我實際上閱讀了一篇不錯的文章,但我建議您真正研究本節的標題,并熟悉該語言。
Promise與異步等待
每當我用其他語言編寫代碼時,除了promise和async-await外,沒有什么比我玩的多,而且我喜歡Javascript Promise和Async await。
這是您需要了解Javascript如何工作的內容。 承諾是神奇的,它為異步編程提供了很多目的。
Promises and async…await允許您偏離傳統的線性方式來執行程序,該方法對于像Javascript這樣的單線程語言來說,使其變得更強大,更快速,而無需花費大量資源來創建專用線程。
Promises +單線程使Javascript成為構建快速可靠的Rest Api和實時通信應用程序的最佳選擇之一。
函數式編程
我認為,沒有什么比Javascript的函數更勝一籌了。它選中每個框,這是僅次于Objects的第二種最強大的語言。
因為Javascript如此靈活和豐富,它允許您以任何樣式進行編程,其中之一就是函數式編程樣式。
您可以使用函數執行任何操作,并且與函數有關的技巧無窮無盡。 如果您喜歡函數式或任何其他聲明式編程,則必須掌握函數。
控制流
這是任何語言的基礎。逐步學習如何工作將使您能夠將簡單到復雜的算法組合在一起,從而使您可以創建更復雜的程序。
控制流正在理解如何逐步執行事物以及它如何影響結構。即使您沒有編寫應用程序,它也將幫助您快速調試和理解任何應用程序。
網絡請求和Ajax
在某些時候,您將需要發出請求,并且處理通過網絡獲取的數據是一項必不可少的技能,尤其是現在數據是任何應用程序的重要組成部分。
了解使用fetch或XHR API的方法將很方便,但您不僅限于此類本機API。 目的是了解您在應用程序中通過網絡獲取數據的方式。
在某些時候,您將不得不處理龐大的數據負載或依賴大量數據的應用程序。
結論
您成為專業人士的方式就是這些小部分。通過大量的練習逐步掌握每個步驟。
您只要閱讀一下內容都沒關系。您必須在盡可能多的不同情況下反復嘗試。
祝你好運!
(本文由聞數起舞翻譯自Wing Puah的文章《10 Things to Master About Javascript Before You Call Yourself a Pro》,轉載請注明出處,原文鏈接:https://medium.com/swlh/10-things-to-master-about-javascript-before-you-call-yourself-a-pro-2a5fe237e6ac)