在 TypeScript 變數的狀態可以相當多變,它們可能已經被定義或者還未定義,可能已經初始化或者尚未初始化。當我們需要確定一個變數的確切狀態時。通常情況下,我們可能會傾向於使用 typeof
運算符來檢查變數的類型,但這在某些情況下可能不夠用。
寫 TypeScript 時,對 undefined
跟 null
的使用時機常常混淆,很容易在程式運行時,遇到 undefined is not a function
或是 reading undefined property of X
之類的錯誤。這篇介紹了兩種解法,並說明優劣。
在 TypeScript 中,增加運行時安全性的一種方法是使用所謂的 Branded Types ,特別是用於區分具有相同基本型別但代表不同概念的值。例如,使用字串表示用戶ID和文章ID時,儘管它們在技術上都是字串,但它們在應用程序的上下文中具有截然不同的意義。
通過將它們標記為不同的 Branded Types,TypeScript 能夠識別和防止將一種ID錯誤地用作另一種,從而減少錯誤並提高代碼的可維護性和可讀性。
《物聯網革命》出版於 2015,內容可概括為:
人類應為了蔚藍而清淨的地球,我們要從集中生產轉為分散生產,建設最高效率的能源網、物流網、 交換網(internet),消滅掉低效率的生產勞動力,所有的交易中間人,產銷合一,並以開放共創共享的精神,增加物資,能源的利用效率,盡可能減少消耗地球資源的行為,從重視擁有權轉變為重視取用權,對抗資本主義的財產私有化,增加更多的共有資源讓更多人取用,追求全體生態圈的最高福祉,永續生存。