文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JavaScript基本数据类型转换你了解嘛

2024-04-02 19:55

关注

前言

数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况:

需要注意的是:null、undefined 没有.toString() 方法

转换为数字

Number(string) 方法

Number() 可以把任意值转换成数字,如果要转换的目标对象(一般是字符串)中有不是数字的值,则会返回 NaN

Number('1')   // 1
Number(true)  // 1
Number('123s') // NaN
Number({})  //NaN

parseInt(string, radix)

解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。

parseInt('2') //2
parseInt('2',10) // 2
parseInt('2',2)  // NaN
parseInt('a123')  // NaN  如果第一个字符不是数字或者符号就返回NaN
parseInt('123a')  // 123

parseFloat(string)

解析一个参数并返回一个浮点数。

parseFloat('123a')	//123
parseFloat('123a.01')	//123
parseFloat('123.01')	//123.01
parseFloat('123.01.1')	//123.01

隐式转换

let str = '123'-str// -123str+1 // '1231'+str+1 // 124let res = str - 1 //122let str = '123'
-str	// -123
str+1 // '1231'
+str+1 // 124
let res = str - 1 //122

转换为字符串

toString()

将目标对象转换为字符串。

注意:null,undefined 不能调用。

Number(123).toString()	//'123'
[].toString()	//''
true.toString()	//'true'

String()

String() 的作用比较强大,它可以将任何传入的值都转为字符串。

String(123)	//'123'
String(true)	//'true'
String([])	//''
String(null)	//'null'
String(undefined)	//'undefined'
String({})	//'[object Object]'

隐式转换

当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接,返回字符串:

let a = 1
a + ''	// '1'

转换为布尔值

Boolean()

Boolean() 方法会将以下值转换为 false:

其余的所有值都会被转换为 true。

Boolean('') //false
Boolean(0) //false
Boolean(1) //true
Boolean(null) //false
Boolean(undefined) //false
Boolean(NaN) //false
Boolean({}) //true
Boolean([]) //true

条件语句

在条件语句中,我们一般不会主动进行布尔转换。

let a
if(a) {
  //...   //这里a为undefined,会转为false,所以该条件语句内部不会执行
}

隐式转换

let str = '111'
console.log(!!str) // true

总结

以上就是 JavaScript 基本数据类型转换相关的知识总结,其中最需要注意的是隐式转换。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯