上一节我们学习了JS中关于作用域的知识,本节我们将详细讲解JS中的数据类型该如何转换。

在JS中,一般会有这三种常见的数据类型转换:values->string(字符串)、values->Num(数字)和values->Boolean(布尔值):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
</body>
<script>
  let s = 'Dotcpp'
  let flag = true
  let n =0
  /*values->string*/
  let str1 = String(flag)
   let str2 = String(n)
    /*values->Num*/
  let Num1 = Number(s)
  let Num2 = Number(flag)
    /*values->boolean*/
  let bool1 = Boolean(s)
  let bool2 = Boolean(n)
  /*结果*/
  console.log(str1);
  console.log(str2);
  console.log(Num1);
  console.log(Num2);
  console.log(bool1);
  console.log(bool2);
</script>
</html>

控制台打印结果如下:

三种常见的类型转换

通过强制类型转换,我们获得了想要的数据类型。

值得注意的是,字符串转数字会变成”NaN“,意思是”not a number“(不是数字);""、null、0、-0、undefined和NaN转boolean值时为false,其他为true。

当然,数据类型的转换存在隐式转换,如果符合我们的要求,我们是不需要强制类型转换的:

如果我们需要数字转字符串:

/*有字符串参与,默认转字符串*/
  let n=100
  let s='我的成绩是'
  let str = s+n
  console.log(str);//我的成绩是100

如果我们需要boolean转数字(true-1, false-0):

 let num=0
for(let i=1;i<=10;++i)
{
  let flag = (i%2===0)
  num+=flag
}
console.log(`一共有${num}个偶数`);

当然,如果我们其他类型转整数或小数,我们可以用到parseInt()函数和parseFloat()函数(这两个函数会解析字符串中的数字,忽略非数字字符)。

通常情况下我们是将字符串转整数和小数:

 let s1='12345'
 let s2='1.2345'
 let int = parseInt(s1)
 let float = parseFloat(s2)
 console.log(int);
 console.log(float);

转换结果如下:

parseInt()函数和parseFloat()函数

总结:一般情况下有字符串参与运算默认字符串拼接,如果对数据类型有固定需求,则转为对应数据即可,需要学会转换规则;如果是字符串转整型和浮点型,用parseInt()函数和parseFloat()函数最为直观。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)