JavaScript 类型转换方法

转成布尔值

1.通过!!转换
2.通过Boolean( ) ⭐️
注:undefined,null,-0,+0,NaN,‘’(空字符串)是false,其他的都是true。
所有对象的布尔值都是true,甚至连false对应的布尔对象也是true。空对象{}和空数组[]也会被转成true。
number类型除了0对应false外,其他都对应true

Boolean(new Boolean(false)) // Boolean对象会转成true
Boolean([] ) // 空数组会转成true
Boolean({}) // 空对象会转成true

       let a = '你好'
      let b = null
      let o = b && a
      console.log(o)  // null
      // && 表达式从第一个开始,遇到值为false的表达式,则返回表达式本身,否则返回最后一个表达式

转成数字类型

  1. 转换函数:⭐️
    提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。
    只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
    parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

代码如下:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

代码如下:

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

  1. 强制类型转换 Number(value)——把给定的值转换成数字(整数或浮点数)
    使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
    将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

代码如下:

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
  1. 利用js变量弱类型转换 通过-0 或者 *1 或者+'453' +'42.6';

转成字符串

1、toString()方法 toString()方法返回的是相应值的字符串表现形式

数值、布尔值、对象、数组和字符串值都有toString()方法,但是null和undefined值没有这个方法,在大多数情况下,使用toString()方法不需要传递参数。

数值调用toString()方法的时候可以传递一个参数,来表示输出数值的基数,可以以2、8、16进制表示字符串值。

2、String()函数 ⭐️ String()处理null和undefined相当不错。不会抛出任何错误
String()函数可以将任何类型的数值转换为字符串

如果转换值有toString()方法的话,就直接调用该方法,并返回相应的结果

如果转换值是null,则返回"null"

如果转换值是undefined,则返回"undefined"

例子:

 ```
        var value1 = 10;
        var value2 = true;
        var value3 = null;
        var value4;    //只定义未初始化的变量,自动赋值为undefined
 
        String(value1);   // 10"
        String(value2);   //"true"
        String(value3);   // "null"
        String(value4);   // "undefined"
3、通过+‘’  空字符串

注:数组转换成字符串的常用方法
1、数组中 toString() 方法能够把每个元素转换为字符串,然后以逗号连接输出显示。如果是多维数组,JavaScript 会以迭代的方式调用 toString() 方法把所有数组都转换为字符串。
2、toLocalString() 方法与 toString() 方法用法基本相同,主要区别在于 toLocalString() 方法能够使用用户所在地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
3、join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。
将字符串转数组  split() 方法把字符串转换为数组

split() 方法是 String 对象法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。

JSON.stringify() 方法用于将 JavaScript 值(对象或者数组)转换为 JSON 字符串。
JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
posted @ 2020-12-09 14:53  liaoing  阅读(144)  评论(0编辑  收藏  举报