此篇主要探討 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。