JavaScript 變數

變數是指向識別符的字面值,因此您可以在程序中引用並使用它。了解如何使用 JavaScript 声明一个变量。 JavaScript 變數介紹 使用 var 使用 let 使用 const JavaScript 變數介紹 變數是指向識別符的字面值,因此您可以在程序中引用並使用它。 JavaScript 中的變數沒有任何附加的類型。一旦您將特定的字面值類型分配給變量,您可以稍後將變量重新分配給任何其他類型,而不會出現類型錯誤或任何問題。 這就是為什麼有時會將 JavaScript 稱為“未命名”的原因。 在使用變量之前,必須先聲明變量。有三種方式可以實現這一點,使用 var,let 或 const,而這三種方式在稍後與變量互動方面有所不同。 使用 var 在 ES2015 之前,var 是定義變量的唯一構造。 var a = 0 如果忘記添加 var,就會將值分配給未聲明的變量,結果可能會有所不同。 在開啟嚴格模式的現代環境中,您將收到一個錯誤。在較舊的環境中(或在未開啟嚴格模式的情況下),這將初始化該變量並將其分配給全局對象。 如果在聲明變量時未初始化該變量,則該變量將具有 undefined 的值,直到您將值分配給它。 var a //typeof a === 'undefined' 您可以多次重新聲明變量以覆蓋它: var a = 1 var a = 2 您也可以在同一語句中同時聲明多個變量: var a = 1, b = 2 作用域是變量可見的代碼部分。 使用 var 在任何函數外部初始化的變量將被分配給全局對象,具有全局作用域並且在任何地方都可見。使用 var 在函數內部初始化的變量將分配給該函數,具有局部作用域並且僅在其中可見,就像函數參數一樣。 在具有相同名稱的全局變量的函數中定義的任何變量將優先於全局變量,遮蔽它。 重要的是要理解,塊(由一對花括號識別)不定義新的作用域。只有在創建函數時才會創建新的作用域,因為 var 沒有塊作用域,而是函數作用域。...

React概念:不變性

什麼是不變性?它在React世界中扮演怎樣的角色? 在React編程中,你可能會遇到的一個概念就是不變性(和其反面,可變性)。 不管你對不變性的概念有什麼看法,React及其大部分生態系統基本上都強制了這一點,所以你至少需要了解為什麼它如此重要以及它的影響。 在編程中,當變量的值在創建後無法更改時,該變量就是不可變的。 當你操作字符串時,你可能已經在不知不覺中使用了不可變變量。字符串在默認情況下是不可變的,當你改變它們時,實際上是創建了一個新的字符串並將其賦值給同一個變量名。 不可變變量永遠無法更改。要更新其值,你需要創建一個新的變量。 對於對象和數組也是同樣的道理。 要添加新項目,你可以創建一個新的數組,通過連接舊數組和新項目。 在更改對象之前,需要先將其複製。 這個原則在React中有很多應用。 例如,你不應該直接變異組件的state屬性,而是應該通過setState()方法來變更。 在Redux中,你不應該直接變異狀態,而是通過reducer函數來變更。 那麼,為什麼要這樣做呢? 其原因有很多,其中最重要的是: 變異可以集中管理,例如在Redux中,這樣可以提高調試能力並減少錯誤源。 代碼看起來更整潔,更容易理解。你不會預期一個函數在沒有你知曉的情況下改變某個值,這給你帶來了可預測性。當函數不變異對象而只返回一個新對象時,稱為純函數。 函數庫可以對代碼進行優化,例如,JavaScript在將一個舊的對象引用替換為一個全新的對象時,比直接修改現有對象更快。這提升了性能。