类型转换主要指,将其他的数据类型,转换为:String、Number、Boolean。你会把某个数据类型转换成 null 或者 undefined 吗?不会,因为这样做,没有意义。

/**/
console.log(100 + 200); //300

console.log(100 + "200"); //'100200'
// 在这个运算中 100 隐式转换成了 字符串 '100' ,'100'+'200'==>'100200'

console.log(100 - "200"); // -100
// 在这个运算中 ,'200'隐式转换成了 数字 200,  100-200===>-100

// 这里涉及隐式转换的问题(进行数学运算的时候,js会偷偷的转换数据类型,然后进行运算)

console.log(true + 1); // 2
console.log(undefined + 1); // NaN

我们学习这一章节主要是掌握隐式转换的规则。

其他的简单类型 –> String

使用 String()函数

格式如下:

String(变量)

使用 String()函数做强制类型转换时:

  • 我们拿到的结果就是原值带上引号生成的字符串

其他的数据类型 –> Number

使用 Number()函数

情况一:字符串 –> 数字

  • 1.如果字符串中是纯数字,则直接将其转换为数字。

  • 2.如果字符串中有非数字的内容,则转换为 NaN。(此处可以看到 Number()函数的局限性)

  • 3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为 0。

情况二:布尔 –> 数字

  • true 转成 1

  • false 转成 0

情况三:null –> 数字

  • 结果为:0

情况四:undefined –> 数字

  • 结果为:NaN

其他的数据类型 –> Boolean

将其他的数据类型转换为 Boolean,可以使用 Boolean()函数。

  • 情况一:数字 –> 布尔。除了 0 和 NaN,其余的都是 true。

  • 情况二:字符串 —> 布尔。除了空串,其余的都是 true。

  • 情况三:null 和 undefined 都会转换为 false。

  • 情况四:对象也会转换为 true。

Tip:上面的这就种情况,很重要,开发中会经常用到。

隐式类型转换

在 JavaScrit 中存在很多的隐式类型转换,隐式转换采用的其实是以下方式:

转换为number类型: Number()
转换为string类型: String()
转换为boolean类型: Boolean()
文档更新时间: 2021-09-06 14:44   作者:张老师