JS系列之数据类型转换(强制类型转换)

js基本数据类型:Number,String、Number、Null、Undefined,知道了这些的话直接开干~

将数据类型转换成String

转换方式1:使用toString()方法

转换方式2:使用String()函数

      let a = 123;
      console.log(a.toString()) // '123'
      
      let b = true
      console.log(b.toString()) // 'true'

      let c = null;
      console.log(c.toString()) // 报错  

      let d = undefined
      console.log(d.toString()) // 报错
      
      let e = 123;
      console.log(String(d)) // '123'

      let f = true
      console.log(String(f)) // 'true'

      // null和undefined调用toString()或String()时不一样的
      let g = null;
      console.log(String(e)) // 'null'
      
      let h = undefined
      console.log(String(f)) // 'undefined'
总结:

​ 1.调用toString()和String()会返回string类型的数据,不会改变原本的数据类型

​ 2.toString() 不能将null 、undefined 转为字符串,如果需要将null和nudefined转为字符串可以使用String ()

将数据类型转成成Number类型

​ 转换方式1:使用Number()方法

​ 转换换式2:使用parseInt() 方法/parseFloat()方法

      let a = '123'
      console.log(Number(a)) // 123
			
			// 空字符串
      let b = ''
      console.log(Number(b)) // 0

      let c = true
      console.log(Number(c)) // 1

      let d = false
      console.log(Number(b)) // 0
      
      let e = null;
      console.log(Number(e)) // 0

      let g = undefined
      console.log(Number(g)) // NaN
      
      // 如果纯数字和Number方法作用时一样的
      let h = '123'
      console.log(parseInt(h))

      // 如果不是纯数字则只取整数数字
      let i = '123.12px'
      console.log(parseInt(h)) // 123
      
      // parseFloat() 小数也会保留
      let j = '1321.144px'
      console.log(parseFloat(i)) // 1321.144

      //如果对非String使用parseInt()获知parseFloat()
      // 他会先将其转换成String然后再进行操作
   
      let k = true
      console.log(parseInt(k)) // NaN

      let l = null 
      console.log(parseInt(l)) // NaN

      let n = undefined
      console.log(parseInt(n)) // NaN
总结:

​ 1.纯数字的字符串 直接通过Number()函数进行转换

​ 2.不是纯数字使用Number转换的话,类型变为NaN, 但是数据类型还是number类型

​ 3.如果字符串里面都是空格,没有字符则转换成 0

​ 4.布尔值转数字 true 为 1 false 为 0

​ 5.null 转 数字 null 为 0

​ 6.undefined 为 NaN

对字符串特殊处理的连个方法

​ parseInt()

​ 1.对纯数字的字符串作用与Number()一致

​ 2.非纯数字,不以英文开头则只取整数数字

​ 3.非纯数字,以英文开头则为NaN

​ 4.parseInt()可以用于取整数

​ parseFloat()

​ 1.对纯数字的字符串作用与Number()一致

​ 2.非纯数字,不以英文开头则取所有数字

​ 3.非纯数字,以英文开头则为NaN

将数据类型转换成Boolean

转换方式:使用Boolean()

      let a = 123
      console.log(Boolean(a)) // true
      
      let b = -123
      console.log(Boolean(b)) // true

      let c = 0
      console.log(Boolean(c)) // false

      let d = NaN 
      console.log(Boolean(d)) // false

      let e = 'test'
      console.log(Boolean(e)) // true
      
      let f = ''
      console.log(Boolean(f)) // false

      let g = null
      console.log(Boolean(g)) // false

      let h = undefined
      console.log(Boolean(h)) // fasle
			
			// 对象也为true
      let i = {
        name: '法外狂徒',
        age: 22
      }

      console.log(Boolean(i)) // true
总结:

​ 1.数字类型转布尔类型:除了 0 和NaN, 其余都是true

​ 2.字符串类型转布尔类型:除了空串,其余都是true

​ 3.null和undefined 都会转换为false

​ 4.对象也会转换为 true

结语:

​ js中的数据类型也就几种,但是类型转来转去的还是有点脑壳疼的,熟悉数据类型的转换,可以让我们写代码的时候不会出现一些小问题,大家平时大家在写bug的时候多多留意,还是没问题的,各位小伙伴们加油哟,祝大家工作顺利~

以上仅为个人见解,若存在错误欢迎指正,谢谢~

猜你喜欢

转载自blog.csdn.net/Liushiliu104/article/details/120299141