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



相关文章
|
5月前
|
存储 程序员 编译器
类型转换:关键技巧
类型转换:关键技巧
|
5月前
|
安全 编译器 C语言
C++之类型转换
C++之类型转换
42 0
|
12月前
|
Java
类型转换
Java中的类型转换是将一个数据类型转换为另一个数据类型的过程。在Java中,有两种类型转换:自动类型转换和强制类型转换。 自动类型转换是指Java自动将小的数据类型转换为大的数据类型,而不需要使用强制类型转换符。 强制类型转换是指Java使用强制类型转换符(如:())将一个数据类型转换为另一个数据类型。强制类型转换只能在两种数据类型之间进行转换,而且只能从大类型转换到小类型。如果从一个小类型转换到一个大类型,那么这个转换是自动进行的,不需要使用强制类型转换符。
29 0
|
编译器 C++
【C++】类型转换
【C++】类型转换
64 0
隐式类型转换 算术转换 操作符的属性
隐式类型转换 算术转换 操作符的属性
51 0
|
Java
类型转换专题
将数据类型中,取值范围小的数据,给取值范围大的类型赋值,可以直接赋值。
127 0
类型转换专题
|
Java Scala vr&ar
值类型的自动转换|学习笔记
快速学习值类型的自动转换。
值类型的自动转换|学习笔记
|
SQL 关系型数据库 MySQL
类型隐式转换导致的?No,并不是
类型隐式转换导致的?No,并不是
116 0
类型隐式转换导致的?No,并不是
数据类型-转换-隐式转换和显式转换
数据类型-转换-隐式转换和显式转换
|
编译器 C语言 C++
C++ 类型转换
C++ 类型转换
145 0
C++ 类型转换