美文网首页
JavaScript数据类型转换小记

JavaScript数据类型转换小记

作者: 不讨喜的大雄 | 来源:发表于2018-07-08 20:49 被阅读0次

JavaScript里的数据类型是可以有办法相互转换的,我们可以用以下方法分别将其他类型转换为字符串、布尔值以及数字。

1. 如何将其他类型转化为字符串

1.1. x.toString()

x.toString()

用这种方法数字和布尔值回返回字符串,对象返回 "[object Object]",而 null 和 undefined 会报错显示无法转换类型

1.2. String(x)

更好的方法是直接用 String() 这个全局变量

String(x)

这种方法可以将任何数据类型转化为字符串而不报错

1.3. x + ''

老司机有更好的方法

x + ''

这种方法利用 + 会让与字符串相加的运算子转变为字符串的特点

加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)

值得一提的是,只有加分运算符有这个特点,其他运算符会把运算子均转变为数值后运算。

2. 任意类型转为布尔

2.1. Boolean(x)

与字符串一样,布尔也有相应的全局变量函数 Boolean() 将其他类型转化为布尔值

Boolean(x)

其中要注意的是空字符串是 false 而空格是 true,事实上,只有以下五个值转换结果是 false,它们在JS里称为 falsy(加上 false 和 "" 就是七个)

转换结果为false的值

2.2. !!x

另一种更快的方法是用 !!x

!!x

3. 任意类型转数字

3.1. Number(x)

Number(x)

3.2. parseInt(x) MDN

parseInt(x) 主要用来将字符串等转换为整数,它可以设定转换的进制,一般推荐不转换成其他进制时,也写上parseInt(x,10)表示转换成十进制,避免歧义

parseInt(x)

当 parseInt(x) 遇到不能转换的类型即停止转换

3.3. parseFloat(x) MDN

主要用来将字符串等转换为浮点数

3.4. x - 0

x - 0

这个方法其实在 1.3 提到了,除加法运算符会有‘重载’现象外,其他运算符不会,那么当一个类型减去0当然会返回其对应的数值了。

3.5. + x

+ x

注意这种方法其实和 x - 0 原理相似,其并不是取绝对值


本文主要用于个人学习使用。

相关文章

  • JavaScript数据类型转换小记

    JavaScript里的数据类型是可以有办法相互转换的,我们可以用以下方法分别将其他类型转换为字符串、布尔值以及数...

  • JS基础

    JavaScript概述 、 JavaScript基础语法 、 变量和常量 、 数据类型 数据类型转换 、 运算符...

  • react-native flex

    javaScript数据类型转换 flexDirection alignltems alignSelf auto ...

  • JS中的类型转换

    JavaScript 中的类型转换 JavaScript 基本数据类型 JavaScript 中的一共有 8 中内...

  • 【JavaScript数据类型转换】

    JavaScript数据类型转换 显示转换 有三个函数可以把字符串转换为数值:Number()、parseInt(...

  • 五 语法专题

    1 数据类型的转换 https://wangdoc.com/javascript/features/convers...

  • 2018-07-02

    数据类型 与 类型转换 javascript语言的数据类型 数值(number):整数和小数(比如1和3.14) ...

  • 2018-04-09

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

  • javascript数据类型隐式转换

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

  • Flutter之基本语法一

    一. 基础数据类型 Symbol基础数据类型Symbol 在JavaScript中是将基本数据类型转换为唯一标识符...

网友评论

      本文标题:JavaScript数据类型转换小记

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