Typescript的學習筆記_溫故javascript一些令人詬病的問題_typescript型別跟執行方式還有物件

Typescript 是由微軟的C#之父Anders Hejlsberg設計出來的一套語言 javascript 本身以前由Netscape推出而當時是為了蹭Java的熱度才取名叫Javascript的 Javascript本身語言有一個缺點那就是沒有強型別的觀念 Typescript則是補足這塊觀念的增強版程式語言 在此以es5大部分瀏覽器都還能支援的標準來做javascript的比較 Typescript (.ts)本身編譯完最終產物仍是javascript (.js) ======================================= 變數作用域的觀念(var,let) javascript 變數 區域性跟全域性觀念 通常若你用var宣告在特定一個function中就會視為區域性變數 外層無法存取的到 var num1 = 1; function test_func(){ var num2 = 2; console.log(num1); console.log(num2); } console.log(num1); console.log(num2); num2 is not defined 當你在function中用var宣告並定義變數的時候 只能夠過functino呼叫存取該區域變數的值此時是有局部範圍限制的!! 再來怪異的一個點到底時常看到人家寫的javascript 宣告變數有時有寫var有時又不寫??? 到底有沒有差別? 這裡在function中若去除var 直接只寫一個變數名稱num2 跟直接指派值給num2 都會發現屬於 not defined 所以看起來感覺有var的宣告跟無var的宣告沒有差異 而not defined 跟 undefined是不同的涵義 undefined不是錯誤 not defined才是!! not defined 代表根本不存在沒被宣告跟定義 undefined 則代表有被宣告但沒有被定義值 javascript在尚未初始化前不會知道該型別是捨麼 var num1; function test_func(){ num2=2; console.log(num1); console.log(num2); } console.l...