0%

JavaScript Chap.3 : 型別轉換方法

JavaScript Chap.3 : 型別轉換方法

在這篇文章會學到

  • 型別轉換方法
  • 字串(String)轉換成數值(Number) - parseInt、Number
  • 數值(Number)轉換成字串(String) - toString、JSON.stringify

型別轉換方法

在第一篇有提到 每個變數在設立數值後,都有對應型別產生。

因此若要更改其型別除了使用弱型別特性來改變,另一方式就是利用JS本身內建的高階函式進行改變。

字串(String) 轉換成 數值(Number)

由字串轉換成數值有兩種常見的方法,分別為parseInt、Number。

  • parseInt ,使用方法為parseInt(string, radix)

string 為本次轉換之字串,若不是字串,會先自動用toString()進行轉換。
radix 為定義數值進位方法,若沒定義,預設為十進位,
此外,string也會將前後空白去除,但當遇到字串中未符合轉譯數值則會直接回傳。

以下為範例:

1
2
3
4
parseInt('123') // 123 
parseInt('1A23') // 1 ,遇到A無法解析,則只回傳1
parseInt('1A23',16) // 6691,十六進位方法可以解析A
parseInt(' 123 ') // 123,可去除前後空白
  • Number ,使用方法為 Number(value)

此方法不受限制,所有型別皆能對應:

  1. 傳入 undefined , 回傳 null
  2. 傳入 null , 回傳 0
  3. 傳入 Boolean ,false 回傳 0,true則回傳1
  4. 傳入 number , 回傳 number
  5. 傳入 string , 回傳 number,但是以十進位為主,且遇到不能轉換的會直接回傳 0 或

字串(String) 轉換成 數值(Number)

由數值轉換成字串有兩種常見的方法,分別為toString、JSON.stringify。

  • toString ,使用方法為 Number.toString(radix)

與parseInt 相似,一樣具備能自定義進位,預設一樣是十進位。
範例如下:

1
2
(123).toString()  // "123"
(123).toString(2) // "1111011"
  • JSON.stringify ,使用方法為 JSON.stringify(value)

其value不受型別限制,大部分用於物件矩陣上。
範例如下:

1
2
3
4
JSON.stringify(42) // "42"
JSON.stringify(true) // "true"
JSON.stringify(null) // "null"
JSON.stringify('Hello World') // ""Hello World"",字串會在外面再包一層引號!

以上就是本篇文章想告訴大家的,謝謝大家收看。