zoukankan      html  css  js  c++  java
  • 数据类型转换

    数据类型转换分为强制数据类型转换(显式转换)自动转换(隐式转换)

    (1)强制转换

    主要是使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。

    Number()

    // 数值:转换后还是原来的值
    Number(324) // 324
    // 字符串:如果可以被解析为数值,则转换为相应的数值
    Number('324') // 324
    // 布尔值:true 转成1,false 转成0
    Number(true) // 1
    Number(false) // 0
    

    String()

    String(123) // "123"
    String('abc') // "abc"
    String(true) // "true"
    String(undefined) // "undefined"
    String(null) // "null"
    
    转换对象和数组
    String({a: 1}) // "[object Object]"
    String([1, 2, 3]) // "1,2,3"
    

    Boolean()

    除了以下六个值的转换结果为false,其他的值全部为true。

    undefined
    null
    -0
    0或+0
    NaN
    ''(空字符串)
    
    Boolean(undefined) // false
    Boolean(null) // false
    Boolean(0) // false
    Boolean(NaN) // false
    Boolean('') // false
    

    (2)自动转换

    遇到以下三种情况时,JavaScript会自动转换数据类型,即转换是自动完成的,对用户不可见。

    // 1. 不同类型的数据互相运算
    123 + 'abc' // "123abc"
    
    // 2. 对非布尔值类型的数据求布尔值
    if ('abc') {
      console.log('hello')
    }  // "hello"
    
    // 3. 对非数值类型的数据使用一元运算符(即“+”和“-”)
    + {foo: 'bar'} // NaN
    - [1, 2, 3] // NaN
    
  • 相关阅读:
    C# WPF定时器
    C#处理JSON数据
    SQL-乐观锁,悲观锁之于并发
    C# 集合-并发处理-锁OR线程
    C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码
    C# (事件触发)回调函数,完美处理各类疑难杂症!
    C# Lambda表达式
    C# 匿名方法
    浅谈C# 匿名变量
    鸡兔同笼
  • 原文地址:https://www.cnblogs.com/YeChing/p/6296438.html
Copyright © 2011-2022 走看看