JS裏的數據類型轉換

任意類型的值轉換爲字符串

toString()

toString()函數返回一個表示該對象的字符串數組

類型 返回值 例子
數值 相應的字符串 var x = 1; x.toString; // 返回 "1"
字符串 仍是原來的值 var x = "qwer"; x.toString(); // 返回 "qwer"
布爾值 true轉換爲字符串"true" false轉換爲字符串"false" var x = true; x.toString(); // 返回"true"
對象(非數組) 返回一個類型字符串: "[object,Object]" var x = {a: 1};x.toString(); // 返回"[object,Object]"
對象(數組) 返回該數組的字符串形式 var x = [1,2,3]; x.toString(); // 返回"1,2,3"
null 報錯 Uncaught TypeError: Cannot read property 'toString' of null
undefined 報錯 Uncaught TypeError: Cannot read property 'toString' of undefined

String()

你也可使用String函數將任意類型的值轉換爲字符串安全

類型 返回值 例子
數值 相應的字符串 var x = 1; String(x); // 返回 "1"
字符串 仍是原來的值 var x = "qwer"; String(x); // 返回 "qwer"
布爾值 true轉換爲字符串"true" false轉換爲字符串"false" var x = true; String(x); // 返回"true"
對象(非數組) 返回一個類型字符串: "[object,Object]" var x = {a: 1};String(x); // 返回"[object,Object]"
對象(數組) 返回該數組的字符串形式 var x = [1,2,3]; String(x); // 返回"1,2,3"
null 返回字符串"null" var x = null; String(x); // 返回"null"
undefined 返回字符串"undefined" var x = undefined; String(x); // 返回"undefined"
  • 從上述內容能夠發現toString() 方法和String() 方法不一樣之處在於nullundefined 的返回值不一樣,這是由於String() 方法的底層用的就是toString() 方法,可是String() 針對nullundefinedSymbol 會有特殊處理,因此使用String 方法將其它對象轉化爲字符串能夠被認爲是一種更加安全的作法。
  • toSting()方法能夠將一個數字轉爲16進制的數字

加法運算符

  • 加法運算符+是最多見的運算符,用來求兩個數值的和。
  • JavaScript 容許非數值的相加。
  • 比較特殊的是,若是是兩個字符串相加,這時加法運算符會變成鏈接運算符,返回一個新的字符串,將兩個原字符串鏈接在一塊兒。
  • 若是一個運算子是字符串,另外一個運算子是非字符串,這時非字符串會轉成字符串,再鏈接在一塊兒。
    例如:1 + "a" // "1a" 因此咱們利用JS的這種特性能夠更快捷的將任意類型的值轉換爲字符串,
    也就是用一個任意類型的值加上一個空字符串
    和使用String()方法獲得的結果是同樣的。

任意類型的值轉換爲布爾值

boolean()

boolean函數能夠將任意類型的值轉換爲布爾值

轉換規則
除了如下五個值的轉換結果爲false,其他的值全爲true函數

  • undefined
  • null
  • -0+0
  • NaN
  • ''(空字符串)

固然false自己轉換爲布爾值確定也是false啦。3d

注意,全部對象(包括空對象)的轉換結果都是 true

取反運算符(!)

  • 取反運算符是一個感嘆號,用於將布爾值變爲相反值,即true變成falsefalse變成true
  • 對於非布爾值,取反運算符會將其轉爲布爾值。
  • 若是對一個值連續作兩次取反運算,等於將其轉爲對應的布爾值,與Boolean函數的做用相同。這是一種經常使用的類型轉換的寫法。

從圖中能夠看到: !!獲得的結果和 Boolean()方法獲得的結果是同樣的,因此咱們能夠用這種更便捷的方法轉換爲布爾值

任意類型的值轉換爲數值

Number()

使用Number函數,能夠將任意類型的值轉化成數值。

parseInt()

parseFloat()

減法運算符

數值運算符

相關文章
相關標籤/搜索