valueOf()、toString()、toLocaleString()三個方法的區別

顧名思義:

valueOf 返回其原始值

toString 轉爲字符串

toLocaleString 轉爲字符串,爲地區特定的格式

 

 

(幾個示例)

1. Number 

  (1234567).valueOf() // 1234567 數字原始值 

  (1234567).toString() // "1234567"

  (1234567).toLocaleString() // "1,234,567" 建議使用

 

2. Number Array

  [1234567,123,987654321].valueOf() // [1234567, 123, 987654321] 數組原始值 

  [1234567,123,987654321].toString() // "1234567,123,987654321"

  [1234567,123,987654321].toLocaleString() // "1,234,567,123,987,654,321" 會出問題,不建議使用

 

3.  Date

  new Date().valueOf() // 1620897985995

  new Date().toString()  // "Thu May 13 2021 16:37:41 GMT+0800 (中國標準時間)"

  new Date().toLocaleString() // "2021/5/13 下午4:41:04" 建議使用

 

 4. Boolean

  new Boolean().valueOf() // false 原始值 默認false

  !new Boolean().valueOf() // true

  !new Boolean() // false

  注意上面:默認false,那!false 應該是 true啊 其實是 false

  new Boolean().toString() // "false"

  new Boolean().toLocaleString() // "false"

 

其他:Math.PI.valueOf() // 3.141592653589793

 

 注意:

  toString()可以將數據都轉爲字符串,但是null和undefined不可以轉換,會報錯。可以 String(null) // null String(undefined) // undefined

  toString()括號中可以寫數字,代表進制 toString(2)

  toLocaleString() 建議使用場景:大金額分隔,日期轉換,其他場景最好不要使用 

 

 

 

 

 

 

 

 

 

 

參考自

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章