美文网首页
JS的类型转换

JS的类型转换

作者: 沉默紀哖呮肯伱酔 | 来源:发表于2021-09-11 13:54 被阅读0次

    JS的数据类型:

    首先, JS的数据类型分为基本数据类型和引用数据类型
    基本数据类型:

    • string
    • number
    • null
    • undefined
    • boolean
    • symbol

    引用数据类型:

    • object
    • Array
    • Date
    • Math
    • function
    • RegExp
    • Number
    • String
    • Boolean

    JS数据类型之间的转换

    在 JS 中的类型转换都会转换成以下 3 种类型
    转为 String 可以使用以下方法进行转换 String() 、toString()
    转为 Boolean 可以使用 Boolean()
    转为 Number 可以使用 Number() 、parseFloat() 、parseInt()

    类型转换分为两种:隐式类型转换、显式类型转换
    • 显式类型转换
      指通过编写代码在类型之间进行转换,例如:var.toString()、Number(val)

    • 隐式类型转换
      指在对不同类型的值使用运算符时,值可以在类型之间自动的转换, 例如:100 + true

      1、+运算符
      a、字符串参与的+运算符操作
      字符串与任何类型的值做+运算,都是将其他类型转换成字符串后做拼接操作

          'aa' + 1 // aa1
          'aa' + 'bb' // aabb
          'aa' + true // aatrue
          'aa' + null // aanull
          'aa' + undefined // aaundefined 
      

      b、数字参与的+运算符操作

         1 + true // 2
         1 + null // 1
         1 + undefined // NaN 
      

      c、布尔值参与的+运算符操作

        如果存在布尔值进行运算,先将布尔值转换成数字或字符串后进行计算
        布尔值遇到字符串,则转换成字符串
        布尔值遇到数字,则转成数字
      

      d、Null和Undefined参与的+运算符操作

         如果和数字进行计算,null会转化为0,undefined会转化成NaN
         Null遇到字符串则转换成字符串,遇到数字则转换成0,遇到布尔值则布尔值和Null都转换成数字再进行运算
         Undefined遇到字符串则转换成字符串,遇到数字则转换成NaN,遇到布尔值则布尔值和Undefined都转换成数字再进行运算
      

      2、-运算符
      任何类型的数值遇到-运算符都会先将自身类型转换成数字之后在进行运算
      a、字符串参与的-运算符

          字符串遇到-运算符会转换成数字
      

      b、布尔值参与的-运算符操作

        布尔值遇到-运算符会转换成数字
      

      c、Null和Undefined参与的-运算符操作

       null会转化为0,undefined会转化成NaN
      

      3、==运算符
      Number、Boolean、Null、Undefined进行比较的时候都会将运算数转换为数字,然后再进行比较
      Undefined和Null比较特殊,它们两个使用==运算符返回值是true。

    相关文章

      网友评论

          本文标题:JS的类型转换

          本文链接:https://www.haomeiwen.com/subject/dtgowltx.html