課程資訊
《台中》前端工程訓練:JavaScript 與 TypeScript 開發實戰簡述心得
Javascript (js) 是個邪惡的語言,好用易寫,弱型別的超彈性寫法,除了原始型別,所有東西都是物件,變數與屬性不用宣告也能用,需要用到的功能,上網查查方法抓下來再改一下參數就可以用了,寫錯也不會頁面爆黃噴掉給你看,
但...要抓蟲時只能直呼神奇了......
上完 Will 保哥的課,才知道 Js 這些眉眉角角,這些東西其實好好研究書本也是有,但就是難體會,寒窗苦熬1個月,可能不如保哥1天課,簡單的例子快速了解所謂的 JS 特性。
這邊我簡單的整理一下所吸收的東西,希望就算只有瞭了 6 成也算受益無窮了。
另外,推薦一個線上的編輯軟體 js bin,練習 heml, js 與 css 可以直接在瀏覽器上練習。
整理筆記
型別系統
js 看似都用 var 來宣告變數,且相同變數可以隨意賦值不同型別。
ex.
var a = 123; // 宣告變數 a 並賦值 123
a = "ABC"; // 變數 a 賦值 "ABC" 不會產生型別錯誤
但其實 js 還是有型別的。
js 有兩大型別: 1. 原始型別 (Primitive Type) 2. 物件 (Object Type)
除了以下 5 個原始型別 ,其他都是物件 (Object)
- number
- string
- boolean
- null
- undefined
稍微了解其他程式語言,像我寫過 C#,number, string, boolean 都可以理解,但為何還有 null 和 undefined,這兩個有什麼差別呢? 保哥建議 null 不要用,清空屬性或判斷請都用 undefined。
以下是我估狗查出來的一些資料,大致是說:
null 表示無值,而 undefined 表示沒有定義的變數
(此鄉民還提到 1. 布林的 falsy 2. 變數的 hoisting,下面課程也會講到)
簡述一下原始型別,特別的地方各用一句話帶過,之後或許會分別針對細節內容做分享。
1. number
parseInt() 方法截出字串中數值,不是一個數值的數值 NaN,判斷必須用 isNaN() 。
2. string
var a = "Sean"; // a[0] = 'S',
3. boolean
隱含比對 (==) 與明確比對 (===),Truthy & Falsy。
以上為,五顆星之應該知道 /*物件型別*/
以下主題為未完待續...
以下主題為未完待續...
五顆星之必須知道 /*基礎物件概念, 你所不知道的 js 程式語言特性*/
三顆星之需要知道 /*物件導向基礎(較深入的進階應用)*/
三顆星之可以知道 /*TypeScript*/