此篇主要探討 String()、toString() 兩種轉換字串方法的差異,以及使用情境。
String()
優點:所有型別都能轉換為字串。
缺點:不支援
轉進位制轉換。
1 | String(null); // 'null' |
toString()
MDN:屬於方法,會回傳指定對象的字串樣子。
優點:支援進位制轉換。
缺點:無法轉換 null
、 undefined
(會報 Error)。
1 | // 括號中填寫進位對應數值 |
解法:可以使用 try catch
或 短路求值
來預防 Error。
1 | let toNum = null; |
different point
null、undefined
toString:無法轉為字串(會噴 Error)
String:可以正確轉為字串
1 | let num = null; |
進位制
toString:可以正確轉換
String:無法正確轉換
1 | let num = 10; |
conclusion
需要做進位制轉換就使用 toString
,否則就使用 String
。
使用 String
時預防噴 Error。