3、类型转换(强制转换、自动转换、与或非)

简介: 3、类型转换(强制转换、自动转换、与或非)

1、强制转换


强制转换 作用
Number() 转为数值,必须为数字,否则返回NaN
String() 转为字符串
Boolean() 转为布尔值
toString() 转为字符串(null和undefined不可以)
parseInt() 转为整数,截取数字
parseFloat() 转为浮点数,截取浮点数


    // 1、强制转换
    // console.log(null.toString());        // 输出结果:报错(没有包装对象)
    // console.log(undefined.toString());     // 输出结果:报错(没有包装对象)
    console.log(Number("12345"));         // 输出结果:12345 
    console.log(Number("123abc45"));        // 输出结果:NaN
    console.log(parseInt("12345"));         // 输出结果:12345 
    console.log(parseInt("123abc45"));        // 输出结果:123 
    console.log(parseInt("12.3abc45"));       // 输出结果:12
    console.log(parseInt("A12.3abc45"));      // 输出结果:NaN
    console.log(parseFloat("12.3ab5"));       // 输出结果:12.3
    console.log(parseFloat("12.34.32ab5"));     // 输出结果:12.34
    console.log(parseFloat("b12.3ab5"));      // 输出结果:NaN

2、自动转换


image.png

    // 2、逻辑与:左侧的值转换成布尔值,如果为true,返回第二个值。如果为false,返回第一个值
    // 诀窍:看是否为true,第一个为true,看第二个是否为true;如果第一个就false,就直接返回第一个
    console.log("Hello" && "World");      // 输出结果:World
    console.log(0 && 20);           // 输出结果:0
    // 3、逻辑或:左侧的值转换成布尔值,如果为true,返回第一个值。如果为false,返回第二个值
    // 诀窍:如果第一个为true,就那返回第一个;如果第一个为false,那就看第二个是否为ture
    console.log("Hello" || "World");      // 输出结果:Hello
    console.log(0 || 20);           // 输出结果:20
    // 4、逻辑非
    console.log(!0);              // 输出结果:true
    // 5、==:类型自动转换,然后比较数值
    console.log(1 == "1");            // 输出结果:true
    // 6、===:不转换类型,直接比较数值与类型,两个都相同才为true
    console.log(1 === "1");           // 输出结果:false

3、if、while语句转换


类型 if语句转换
数值类型 只有0和NaN会转换为fasle
null 转为false
undefined 转为false
字符串 空字符串转为false,其他为true
对象 所有对象都转为true



目录
打赏
0
0
0
0
2
分享
相关文章
C++中的四种类型转换运算符
reinterpret_cast` 则是非常危险的类型转换,仅用于二进制级别的解释,不检查安全性。`dynamic_cast` 用于类的继承层次间转换,向上转型总是安全的,向下转型时会借助 RTTI 进行安全性检查。只有当转换路径在继承链内时,转换才会成功。
|
9月前
|
C++
c++类型转换
c++类型转换
92 1
基本数据类型,特殊数据类型-和字符串自动转换
基本数据类型,特殊数据类型-和字符串自动转换
90 0
数据类型-转换-隐式转换和显式转换
数据类型-转换-隐式转换和显式转换
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等