美文网首页
js基础3-数据类型转换

js基础3-数据类型转换

作者: beizi | 来源:发表于2021-04-02 17:58 被阅读0次

数据类型转换

JS是一种弱类型语言:变量能保存的数据不限定任何类型

1. 显式数据类型转换

什么是显示类型转换:程序员主动转换(可以理解为使用关键字来转换)
注意:数据类型的转变并不会改变原来变量的值,而是会产生一个新的值
- 增加代码的可读性
- 提升代码的性能
- 保证代码的安全(正确方式运行)

其他类型转换成number类型:需要进行数学算术运算

系统提供了一个内置对象:Number Number(其他类型)

    // 不是所有内容都需要转换:根据要都数据格式进行转换
    // 需要进行数学算术运算:其他类型要转成数字
    // 系统提供了一个内置对象:Number  Number(其他类型)
    let num = 1;
    let str = '1';          // 数字型字符串
    let bl = true;
    let un;
    let nu = null;
    console.log(Number(str));       // 数字型可以正确转数字
    console.log(Number('abc'));     // NaN
    console.log(Number('12a'));     // NaN
    console.log(Number(''));        // 0
    // Number()只能将数字型字符串转成数字:其他都是NaN(空字符串可以转0)
    console.log(Number(bl));        // 1
    console.log(Number(false));     // 0
    // Number()将布尔转数字:true变成1,false变成0
    console.log(Number(un));        // NaN
    console.log(Number(nu));        // 0
    // 空对象null是可以转成0的,undefined转成NaN
其他类型转成字符串:需要进行字符串连接

系统提供了一个内部对象:String String(其他类型)

    // 其他类型转字符串非常简单:所见即所得,只加了引号
    console.log(String(num));  // '1'
    console.log(String(bl));   // 'true'
    console.log(String(un));   // 'undefined'
    console.log(String(nu));   // 'null'
    console.log(String(''));
其他类型转成布尔类型:需要判定数据是否满足条件

系统提供了一个内部对象:Boolean Boolean(其他类型)

    // 布尔类型:只要记住转false的几种:其他全是true
    console.log(Boolean(0));        // false
    console.log(Boolean(-0));       // false
    console.log(Boolean(''));       // false
    // console.log(Boolean('0'));      // true
    console.log(Boolean(undefined));    // false
    console.log(Boolean(null));         // false
    console.log(Boolean(NaN));          // false
    // console.log(Boolean(Infinity));  // true
    console.log(Boolean(-NaN));         // false
2. 隐式数据类型转换

运算符两边数据类型不一致,编译器自动帮我们转换一致在计算,这是js的语法特点
自动转换的规则就是三个:Number() String() Boolean()

  • 什么情况下会进行自动转换呢?
    • 转数字
    /*
        算术运算符:+ - * / %
        有数字参与的比较:8种运算符
        +:放在内容前面(强转数字)
    */
    console.log(1 - '1');    // 0
    console.log(2 > true);   // true: 2 > 1
    let age = +prompt('请输入年龄');
    console.log(age);
  • 转字符串
    // +:且有一个数据是字符串
    console.log(1 + '1');     // 11
  • 转布尔
    // !:逻辑非
    console.log(!1);       // false
    // 1. 将1转成布尔:true
    // 2. 进行取反

相关文章

  • js基础3-数据类型转换

    数据类型转换 JS是一种弱类型语言:变量能保存的数据不限定任何类型 1. 显式数据类型转换 什么是显示类型转换:程...

  • JS数据类型转换(2)

    在上一篇的js数据类型转换(1)中,只考虑了基础数据类型之间的相互转换,未考虑对象和基础类型的转换,本篇做介绍。 ...

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

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

  • 隐式转换的规则

    问题:隐式转换的规则是什么 说起JS的隐式转换规则,我们可以说下JS的基础数据类型 JS的七中类型 我们所熟知的J...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JS隐式数据类型转换

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

  • Python自学笔记——3.基础数据类型转换

    基础数据类型转换 数据类型转换的形式自动类型转换强制类型转换 可变数据类型: 列表, 字典, 集合不可变数...

网友评论

      本文标题:js基础3-数据类型转换

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