前端開發中使用的一些術語指南,這些術語可能對您來說很陌生。

異步

當您啟動某些操作並忘記它時,代碼被稱為異步。在結果準備好之後,您無需等待即可獲取結果。典型的例子是AJAX調用,可能需要幾秒鐘的時間,而在此期間,您可以完成其他工作,當響應準備好時,調用回調函數。Promise和async/await是處理異步操作的現代方法。

代碼塊

在JavaScript中,一個代碼塊由大括號({})括起來。if語句或for循環中可以包含代碼塊。

塊級作用域

使用塊級作用域,定義在代碼塊內的變量在整個代碼塊內是可見且可訪問的,但在外部則不可訪問。

回調函數

回調函數是在某些事件發生時調用的函數。舉例來說,與元素關聯的點擊事件有一個回調函數,在用戶點擊元素時調用該函數。fetch請求具有當資源下載完畢後調用的回調函數。

聲明式

聲明式是指您告訴計算機您需要做什麼,並讓它解決細節。React被認為是聲明式的,因為您是通過抽象來理解問題,而不是直接編輯DOM。每一個高級編程語言相對於低級編程語言(如組合語言)都更具聲明性。JavaScript相對於C語言也更具聲明性。HTML是聲明式的。

回退

回退是在用戶無法訪問特定功能時提供良好體驗的方式。例如,禁用JavaScript的瀏覽器用戶應該能夠回退到頁面的純HTML版本。或者對於未實現某些API的瀏覽器,應該提供回退來避免完全破壞用戶體驗。

函數作用域

使用函數作用域,在函數內定義的變量在整個函數內是可見且可訪問的。

不可變性

當變量創建後其值無法更改時,該變量被稱為不可變。可變變量可以更改其值。對象和數組也適用相同的規則。

詞法作用域

詞法作用域是一種特殊類型的作用域,它意味著變量的值是由該變量的位置在編寫時確定的,而不是在被調用時確定,這是另一種替代方式,稱作動態作用域(在其他一些編程語言中使用)。

兼容性填充

兼容性填充是一種方法,用於為舊的瀏覽器提供現代JavaScript或現代瀏覽器API中提供的新功能。兼容性填充是一種特殊類型的填充。

純函數

純函數沒有任何副作用(不修改外部資源),其輸出僅由參數決定。您可以將此函數調用1M次,並且在給定相同集合的參數的情況下,輸出始終相同。

重新分配

使用varlet聲明的JavaScript變量允許您無限次重新分配變量。使用const聲明時,您有效地為字符串、整數、布林值和無法重新分配的對象聲明不可變的值(但仍可以通過其方法修改)。

作用域

作用域是指變量在程序的哪一部分可見。letconst使用塊級作用域,而使用var聲明的變量使用函數作用域。

作用域規則

作用域規則是一門編程語言如何確定變量和函數的作用域的方式。例如,我們可以使用塊級作用域、函數作用域、詞法作用域等。

填充

填充是對功能或API的一個小型封裝。通常用於抽象某些內容,預先填充參數或為不支持某些功能的瀏覽器添加兼容性填充。您可以將其視為兼容性層。

副作用

當一個函數與其外部的其他函數或對象交互時,這被稱為副作用。與網絡、文件系統或UI的交互都屬於副作用。

狀態

狀態通常與組件相關。如果一個組件管理自己的數據,則它可以是有狀態的;如果不管理數據,則是無狀態的。

有狀態

有狀態的組件、函數或類管理自己的狀態(數據)。它可以存儲數組、計數器或任何其他內容。

無狀態

無狀態的組件、函數或類也被稱為“愚蠢”的,因為它無法擁有自己的數據來做決策,因此它的輸出或表示完全基於其參數。這意味著純函數是無狀態的。注意:在React中,我們曾經稱之為無狀態組件,現在則稱之為函數組件,因為使用hooks使其能夠使用狀態。

嚴格模式

嚴格模式是ECMAScript 5.1的一個新特性,它使JavaScript運行時能夠捕獲更多錯誤,並通過拒絕未聲明的變量和其他可能導致忽視的問題(如重複對象屬性和其他細微問題)來幫助您改進JavaScript代碼。提示:請使用它。替代方法是“寬鬆模式”,即使看著我們給它取的名字也不好。

樹搖(Tree Shaking)

樹搖是從您發送給用戶的捆綁包中刪除“死代碼”的過程。如果您在引入語句中添加一些您從不使用的代碼,該代碼將不會發送給您的應用程序的用戶,以減小文件大小和加載時間。