在前面的篇章有提到在JavaScript裡,要比較兩個值是否一樣要用3個等號而不是兩個等號,這是因為JavaScript有一項特性,叫做coercion。
『Day -11』運算子(Operator)(2)
今天我們要來把昨天沒說完的運算子給說完,因此今天的主題是:邏輯運算子(Logical operators)以及 條件(三元)運算子(Conditional (ternary) operator)
『Day -10』運算子(Operator)(1)
應該不會有人覺得我今天要講scope chain,雖然我昨天斷在這個地方,但那真的有點難,我打算放在比較後面來複習XD
今天主要是來講 運算子(Operator) 以及他們的 優先權(precedence) 跟 相依性(associativity)
『Day -9』了解function底層運作邏輯
我們都知道,在JavaScript 要執行一段函式只需要在函式的最後加上()就可以了,我們把執行函式的執行這個動作稱做invoke。
『Day -8』函式(function)
我們在介紹data type時有提到,所有基本型別 (Primitives) 以外的值都是物件。
物件我們前面介紹了object 跟 array,現在要來介紹function了。
但在進入主題前,先讓我們認識兩個名詞:Expressions(表達式) 跟 Statements(陳述句)
『Day -7』資料型別(data types)(3)
接下來就剩下object了,但本篇只會介紹到array跟object,function因為篇幅的關係會獨立一章,雖然我把他們分開介紹,但大家不要忘記function也是objects喔
『Day -6』資料型別(data types)(2)
『Day -5』資料型別(data types)(1)
在剛開始接觸JavaScript時,常常會聽到有人說JavaScript是個 弱型別 的程式語言,那時候對於這句話的解讀是:因為JavaScript 的不嚴謹以及他的型別會自動轉換,所以才說它是弱型別 的程式語言。
直到2023的今天我才知道這樣的說法『不完全正確』,應該是要說:
JavaScript 是”動態型別”加”弱型別” 的程式語言
『Day -4』提升(Hoisting)
進入主題之前先來認識一個非常重要的觀念:Execution context 執行環境。
『Day -3』 作用域(scope)
我們在昨天有提到scope 這個詞,那這個詞到底是什麼意思呢?為什麼block scope一出來就讓我們放棄用var
來宣告呢?讓我們看下去吧