隐式转换数据类型

作者: JUN_API | 来源:发表于2017-04-13 22:20 被阅读50次

通过"!!""将非布尔型数据隐式转换成布尔型(注意!运算是用于将布尔型的操作数的逻辑非运算)

> !!'X'; //字符串
< true
> !!1;  //Number
< true
> !!0;
< false
> !!'';
< false
> !!null;
< false
> !!Infinity
< true
> !!{}  // 进行布尔型的数据转换时,           
< true  // Object类型转换后的结果必定为true

通过使用'+'运算符将Number转换成字符串

> var n = 0; 
> n += "";
> typeof n;
< "string"
同样通过使用'+'运算符将字符串转换成Number
    var s = "";          //空字符
    console.log(+s);    //    0
    console.log(typeof +s);    //NaN
    console.log(parseInt(s));     //NaN
    console.log(Number(s));   // 0
    var s = " ";          //空格符
    console.log(+s);    //    0
    console.log(typeof +s);    //NaN
    console.log(parseInt(s));     //NaN
    console.log(Number(s));   // 0
    var s = "abc";      //纯字符串
    console.log(+s);    NaN
    console.log(typeof +s);   // number
    console.log(parseInt(s));   NaN
    console.log(Number(s)); NaN
    var s = "undefined";        //undefined
    console.log(+s);    //NaN
    console.log(typeof +s);     // number
    console.log(parseInt(s));   //NaN
    console.log(Number(s)); //NaN   
    var s = "123abc";          //  混合型
    console.log(+s);    //NaN
    console.log(typeof +s);  // number
    console.log(parseInt(s));   //123
    console.log(Number(s)); //NaN
    var s = null;                //null
    console.log(+s);      // 0
    console.log(typeof +s);      // number
    console.log(parseInt(s));   NaN
    console.log(Number(s));  // 0

不难发现"+"前置运算符的Number转换规则和函数Number()是一样的,
值得注意的是,Number()将undefined和字符串转换成NaN,NaN同样是一种
Number类型;同时将null,""(空字符)" "(空格符)转换成数字'0'.

相关文章

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • Java数据类型与运算符

    隐式转换 在这段代码中就发生了隐式数据类型转换,本来是byte数据类型的y因为与int x相加,byte被隐式提升...

  • 数据类型转换

    写在前面 C/C++编程中常见数据类型转换,包括隐式类型转换和显式类型转换。 1. 隐式类型转换 隐式类型转换在以...

  • Java Script 类型转换以及运算

    (一)类型转换 1、隐式转换 num 被隐式转换为true 2、显式转换 其他数据类型转(布尔类型)1、数字:0和...

  • C语言类型转换

    一、隐式类型转换 隐式类型转换是指系统自动将取值范围小的数据类型转换为数据取值范围大的数据类型,它是由系统自动转换...

  • 【二】基本数据类型和Eclipse使用

    1.基本数据类型(4类8种) 2.强制类型转换 隐式转换隐式转换 显式转换显式转换 3.Eclipse使用介绍 E...

  • javascript数据类型隐式转换

    javascript数据类型隐式转换 一、函数类 isNaN()改函数会对参数进行隐式的Number()转换,如果...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • 浮点数转换为新类型时必须做范围检查

    在C语言中,数据类型转换一般可分为隐式转换和显式转换,也称为自动转换和强制转换。其中,常见的隐式转换有4种,如下所...

  • Go语言学习笔记-基本程序结构-数据类型

    数据类型 Go语言不支持隐式数据类型转换 别名和原有类型也不能进行隐式类型转换 类型的预定义值 math.MaxI...

网友评论

    本文标题:隐式转换数据类型

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