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()

减法运算符

数值运算符

相关文章
相关标签/搜索