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



相关文章
|
7月前
|
前端开发 Java Spring
基本数据类型,特殊数据类型-和字符串自动转换
基本数据类型,特殊数据类型-和字符串自动转换
70 0
隐式类型转换 算术转换 操作符的属性
隐式类型转换 算术转换 操作符的属性
58 0
|
存储 Java
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
152 1
简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
|
Java Scala vr&ar
值类型的自动转换|学习笔记
快速学习值类型的自动转换。
值类型的自动转换|学习笔记
|
Java 编译器 Scala
值类型的强制转换|学习笔记
快速学习值类型的强制转换。
值类型的强制转换|学习笔记
|
SQL 关系型数据库 MySQL
类型隐式转换导致的?No,并不是
类型隐式转换导致的?No,并不是
122 0
类型隐式转换导致的?No,并不是
数据类型-转换-隐式转换和显式转换
数据类型-转换-隐式转换和显式转换
|
JavaScript 编译器 C语言
C++类型转换几种情况
C++类型转换几种情况
C++类型转换几种情况
|
开发者
布尔类型转换|学习笔记
快速学习 布尔类型转换
120 0
|
安全 编译器 C++
C++类型强制转换:隐式转换和显式转换(包含Qt智能指针类型转换)
C++类型强制转换:隐式转换和显式转换(包含Qt智能指针类型转换)
812 0