美文网首页
03-数据类型及转换

03-数据类型及转换

作者: 鱼头很厉害 | 来源:发表于2020-01-13 15:13 被阅读0次

数据类型

在JS中一共有两大数据类型
1.基本数据类型

(1)Number 数值类型
在JavaScript中无论整数还是小数都是属于数值类型的

        //例:
        let num = 3.14;
        console.log(typeof num);//number
        let num = 123;
        console.log(typeof num);//number

(2)String 字符串类型
在JavaScript中无论单引号还是双引号括起来的都是属于字符串类型的
相同引号不能嵌套,不同引号可以嵌套,双引号不能放双引号,单引号不能放单引号
给变量加上引号, 那么变量将变为一个常量

        //例:
        let res = typeof ('abc');
        let res = typeof ("abc");
        console.log(res);

(3)Boolean 布尔类型
在JavaScript中比较特殊,只有两个取值true/false

        //例:
        let res = typeof true;
        let res = typeof false;
        console.log(res);//boolean

(4)Undefined 未定义类型
在JavaScript中未定义类型比较特殊,只有一个值undefined

        //例:
        let num;//由于没有给num这个变量初始化,所以这个变量中保存的数据默认是undefined
        console.log(num);//输出num变量中保存的数据
        let res = typeof num;//利用typeof检查num中保存的数据是什么类型的,也就是说检查undefined是属于什么类型
        console.log(res);//undefined

(5)Null 空类型

2.引用数据类型
Object 对象类型

3.typeof操作符
在JavaScript中为了方便我们检测某一种数据类型属于哪一种数据类型,JavaScript提供了一个名称叫做typeof的操作符
格式: typeof 需要检测的数据;
typeof操作符会将检查的结果以字符串的形式返回给我们

        //利用typeof检测123这个常量是属于哪一种数据类型的,并且将检测的结果保存到res这个变量中
        let res = typeof 123;
        let res = typeof 3.14;
        console.log(res);

转为字符串类型

1.将Number类型转换为字符串类型
2.将String类型转换为字符串类型
3.将Undefined类型转换为字符串类型
4.将Null类型转换为字符串类型

在JavaScript中如果想将以上的四种基本数据类型转换为字符串类型,常用的方法有三种:

1.对于Number和Boolean类型来说,可以通过 变量名称.toString()的方式来转换

注意点:在谷歌浏览器控制台中如果是Number类型是蓝色的,String类型是灰色的
变量名称.toString是对拷贝的数据进行转换,所以不会影响原有的数据
不能使用常量直接调用toString方法,因为常量是不能改变的

//例:
       let value = 123;
       console.log(value);
       console.log(typeof value);
       //以下代码含义:将value中存储的数据拷贝一份,然后将拷贝的数据转换为字符串之后返回
       let str = value.toString();
       console.log(str);
       console.log(typeof str);

       let str = 123.toString();//错误,常量不能转换

       //Boolean类型转换字符串类型
       let str = true;
       let str2 = true.toString();
       console.log(typeof str2);//string

2.可以通过String(常量or变量);转换为字符串
//注意点:
变量名称.toString()的方式前面不能是常量,因为常量不能被改变
String(常量or变量),因为根据传入的值重新生成一个新的值并不是修改原有的值.

        let str = String(123);
        console.log(str);
        console.log(typeof str);

        //Undefined转换字符串
        let value = undefined;
        console.log(value);
        console.log(typeof value);
        //以下代码含义:根据传入的数据重新生成一个新的字符串
        let str = String(value);
        console.log(str);
        console.log(typeof str);

        //Null转换字符串
        let value = null;
        console.log(value);
        console.log(typeof value);
        let str = String(value);
        console.log(str);
        console.log(typeof str);

        //Number转换字符串
        let value = 123;
        console.log(value);
        console.log(typeof value);
        let str = String(value);
        console.log(str);
        console.log(typeof str);

        //Boolean转换字符串
        let value = true;
        console.log(value);
        console.log(typeof value);
        let str = String(value);
        console.log(str);
        console.log(typeof str);

3.通过 变量or常量 + "" /变量or常量+ ''转换为字符串

 //变量例:
        let value = 123;
        let str = value + '';
        let str = value + "";//
        console.log(str);
        console.log(typeof str);

        //常量例:
        let str = 123 + '';//+''或者+""底层的本质其实就是调用String()函数
        console.log(str);
        console.log(typeof str);

转为数值类型

1.将String类型转换为数值类型
- 如果字符串中都是数值,那么就正常转换
- 如果字符串是一个空串"",那么转换之后的0
-如果字符串中不仅仅是数字,那么转换之后是NaN

2.将Boolean类型转换为数值类型
- true转换之后是1
- false转换之后是0

3.将Undefined类型转换为数值类型
- 转换之后是NaN

4.将Null类型转换为数值类型
- 转换之后是0

空字符串/false/null/转换之后都是0,其他正常转换

在JavaScript中如果想将以上四种基本数据类型转换为数值型,常用的方法有三种:
1.通过Number(常量or变量);方式来转换

//将String类型转换为数值类型
        变量:
        let str = "123";
        console.log(str);
        console.log(typeof str);
        let num = Number(str);
        console.log(num);
        console.log(typeof num);

        常量:
        let num = Number("123");
        console.log(num);
        console.log(typeof num);

        //注意点:如果字符串中没有数据,那么转换的结果是0
        let str = "";
        let num = Number(str);
        console.log(num);
        console.log(typeof num);

        //注意点:如果字符串中的数据不仅仅是数值,那么转换的结果是NaN
        //NaN === Not a Number
        let str = "12px";
        let num = Number(str);
        console.log(num);//NAN
        console.log(typeof num);//number

        //布尔类型的true,转换之后结果是1,false转换之后的结果是0
        let flag = true;
        let num = Number(flag);
        console.log(num);//1
        console.log(typeof num);

        //Null类型转换结果是0
        let flag = null;
        let num = Number(flag);
        console.log(num);//1
        console.log(typeof num);

        //Undefined转换结果是NaN
        let flag = undefined;
        let num = Number(flag);
        console.log(num);//1
        console.log(typeof num);

2.用数学中的加号+来转换

let str = "123";
        let num = +str;
        console.log(num);//123
        console.log(typeof num);//number

注意点:虽然通过+/-都可以将其他类型转换为数值类型,但是会改变数值的正负性
+/-底层本质上就是调用了Number函数

        let str = "123";
        let num = -str;
        console.log(num);
        console.log(typeof num);

3.parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)
注意点:parseInt/parseFloat都会从左至右的提取数值,一旦遇到非数值就会立即停止,停止的时候如果没有提取到数值,那么就返回NaN
parseInt/parseFloat都会将传入的数据当做字符串来处理

       //parseInt提取整数
        let str = "12px";
        let num = parseInt(str);
        console.log(num);//12
        console.log(typeof num);

         //parseInt提取整数
        let str = "3.14px";
        let num = parseFloat(str);
        console.log(num);//3.14
        console.log(typeof num);

        //非数值停止
        let str = "a12px";
        let num = parseInt(str);
        console.log(num);//NaN
        console.log(typeof num);

        //
        let value = true;
        let num = parseInt(value);
        console.log(num);//返回NaN,相当于parseInt("true"),没有数值,所以返回NaN
        console.log(typeof num);

转换为布尔类型

1.将String类型转换为布尔类型
只要字符串中有内容都会转换为true,只要字符串中没有内容才会转换为false

        // let str = "abc";//true
        // let str = "   ";//true
        let str = "";//false
        let flag = Boolean(str);
        console.log(flag);
        console.log(typeof flag);

2.将Number类型转换为布尔类型
只有数值是0才会转换为false,其他的都会转换为true
如果是NaN也会转换为false

       //let num = 999;//true
        //let num = -123;//true
        //let num = -0;//false
        let num = 0;//false
        let flag = Boolean(num);
        console.log(flag);
        console.log(typeof flag);

        //注意点:在JavaScript中NaN属于number类型
        let num = NaN;
        console.log(typeof num);//number

3.将Undefined类型转换为布尔类型
Undefined会转换为false

        let num = undefined;
        let flag = Boolean(num);
        console.log(flag);
        console.log(typeof flag);

4.将Null类型转换为布尔串类型
Null会转换为false

        let num = null;
        let flag = Boolean(num);
        console.log(flag);
        console.log(typeof flag);

总结:
在JavaScript中如果想将基本数据类型转换为布尔类型,那么只需要调用Boolean(常量or变量)
空字符串/0/NaN/undefined/null 会转换为false,其他都是true

相关文章

  • 03-数据类型及转换

    数据类型 在JS中一共有两大数据类型1.基本数据类型 (1)Number 数值类型在JavaScript中无论整数...

  • 2019-04-11函数参数传递,数据类型及转换

    数据类型及转换

  • 03-数据类型转换

    数值类型转换 C语言中存在显式转换和隐式转换 Go语言中只有显式转换 Go语言中数值类型转换注意点 数值类型转换为...

  • 03-数据类型转换

    数据类型转换 正如其它编程语言那样,php不同数据类型之间也是可以互相转化的,今天我们来简单列举它们的转换。 首先...

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • 2018-04-09

    学习笔记 -- JavaScript if条件及相等运算中的数据转换 1. if(xx) 语句中数据类型的转换 我...

  • c++基础(一):string转wstring及文件拷贝

    使用java太长时间,已经习惯了其数据类型转换及处理的便捷。但是,现在使用c++,不得不去面对其数据类型转换,以及...

  • 1. 数据类型及转换

    1-1 数据类型及转换 1.隐式转换: 将数据类型中, 取值范围小的数据, 给取值范围大的类型赋值, 可以直接赋值...

  • JavaScript基础03- 数据类型转换

    数据类型转换 所谓的数据类型转换,就是将一种数据类型转换为另一种数据类型,所以,数据类型转换包括,转换为字符串类型...

  • 数据类型及转换

    str表示字符串通常使用' '/" "多行字符串使用三重引号''' ''''/""" """ int表示整数 fl...

网友评论

      本文标题:03-数据类型及转换

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