###### tags: `JavaScript 學習筆記` # JavaScript 學習筆記 - 2: 型別簡介:數字、字串、布林、undefined、null、物件 ### 數字 Number * 只要是數字就是數字型別,無論是小數或是負數 * NaN 為錯誤時所顯示的資訊,型別為數字 * 如要將其他字串轉換為數字可用: parseInt("要轉換的對象"); 如要轉換的字串不可轉換為數字(本身為文字),則會出現NaN ``` let a = "1"; A = parseInt(a); ``` or ``` A = parseInt("1"); ``` ``` A = 1; ``` ### 賦值運算子 `a = a + 1;` 簡寫為 `a += 1;` 也可寫為 `a++;` `a = a - 1;` 簡寫為 `a -= 1;` #### 數字轉字串方法 ``` let a = 1; a = a.toString(); ``` a 則由數字轉為字串 ### 字串 String `let a = 'hello';` 需要加上單引號或是雙引號(前後一樣即可),否則會變成變數 #### 字串相加 ``` let a = "hello" + "world"; let a = "hello"; let b = "world"; console.log(a); console.log(a + b); ``` 兩者結果相同 Q: 如果數字和字串相加呢? A: 如直接相加,數字會自動轉型成字串 #### 字元長度 a.length; 可查詢 a 的字元數 (含空白) a.trim(); 移除左右兩邊空白字元,但不移除中間空白字元 #### 變數記憶體指向 要保存新功能需要重新賦值 #### 樣板字面值 Template Literals ``` let a = "AAA"; let b = 1; let content = "XXXX" + a + "YYYY" + b; let content = `XXXX${a}YYYY${b};` ``` 兩者結果相同 #### 字串轉數字方法 ``` let a = "1"; a = parseInt(a); ``` a 即為數字型別 如果 a 無法轉為數字,則會轉為 NaN (從表單文字欄位轉出來的數字都會是字串型別) ### 布林 Boolean 用來讓電腦知道 True or False ,讓電腦知道邏輯判斷的依據 ``` console.log(1>0); ``` 得出 Ture ``` console.log(1>2); ``` 得出 False ### undefined 尚未被賦予值,會回傳空值 ### null 有被賦予值,被告知為空資料 可在需要把資料清空時使用 釋放記憶體空間 ### 物件 用一個變數描述不同的值 看見 {} 就可以知道這是一個物件 ``` let home = { motherName: "Mary", fatherName: "Tom", dogs: 3, house: true }; ``` 裡面的 motherName 並非變數而是屬性 attribute / key 用 , 區隔屬性而非 ; : 後方接值 最後 {} 外要再加 ; ``` let 變數 = { 屬性: value, 屬性: value }; ``` #### 讀取物件的值 ``` 變數.屬性 ``` 例如: console.log(home.motherName); Mary ``` 變數["屬性"] ``` 例如: let a = "motherName"; console.log(home[a]); Mary 拿出的是字串 利用字串取值 #### 新增物件的值 ``` let home = {}; home.motherName = "Mary"; home.dogs = 3; ``` ``` home = { motherName: "Mary", dogs: 3 } ``` #### 修改物件的值 ``` home = { motherName: "Mary", dogs: 3 } ``` ``` home.dogs = 4; ``` or ``` home.dogs += 1; ``` 都會得到以下結果 ``` home = { motherName: "Mary", dogs: 4 } ``` #### 刪除物件的值 ``` delete 變數.屬性; ``` 利用 delete 即可刪除該屬性 #### 物件內包物件 ``` home = { motherStatus: { Name: "Mary", Age: 30 }, dogs = 4 } ``` 讀取方式 ``` 物件.物件.屬性 home.motherStatus.Name ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up