JS-数据类型(String)转换笔记

        简单判断一个类型是否为字符串(String)类型:所有使用单引号、双引号、反引号包起来的全是字符串。

        开发中,也常常遇到需要将其他类型转为字符串的需求,比如日期类型转字符串传给后台数据库等,下面是两种将其他类型转为字符串的方法:

1.toString():

        将需要转换的值通过 [val].toString()方法就可以实现类型转换,首先看下基本数据类型转字符串:

//number型
console.log(12.toString())				//语法错误 sync error
console.log((12).toString())			//'12'

//空指针
console.log((null).toString())		//Error 

//未定义
console.log((undefined).toString())//Error

//布尔
console.log((true).toString())		//true

        从上可得,有两个需要注意的点:

        1.基本数据类型转字符串的时候,需要将基本类型用一个()包裹起来才能进行toString()方法进行转换,不过开发过程中,一般不会直接拿值进行转换,这个错误几乎不会犯,因为用变量直接调用toString()方法是可以正确调用的:

let a = 12;
console.log(a.toString())                //'12'

        2.null和undefined是禁止直接toString()的,转换的结果当然就是'null'和undefined'但是这个转换是禁止的,有图有真相:

JS-数据类型(String)转换笔记

        接着就是引用数据类型调用toString()方法:

//数组
console.log([].toString())				//''
console.log([12,23].toString())		//'12,23'

//正则
console.log(/^$/.toString())			// '/^$/'

//对象
({name:'xxx'}).toString()				//"[object Object]"

        从上可知,对象转字符得到的结果只能是:[object],并不能将对象里的值通过toString()方法展示出来。

2.字符串拼接

        四则运算符中的加号是最为特殊的一个,因为它在遇到字符类型的时候,不会进行四则运算,而是字符串拼接,最后得出的结果也是一个字符型

        拼接基本数据类型:

console.log('10' + 10) 					//'1010'
//在数学运算中,如遇到不是数字类型的值,会默认调用Numbe()来将该值转换为数字型
console.log('10' - 10)					//0
console.log('10px' - 10)				//NaN
log(10+NaN)										 //NaN
log(10+'NaN')								 	 //'10NaN'

console.log(10 + null);					//10

console.log(Number(undefined));	//NaN
console.log(10 + undefined);	  //NaN

        拼接引用数据类型:

console.log(10 + [1, 2])                            //'101,2'
console.log(10 + {})                                //10[object,object]
console.log(10 + /$/)                               //10/$/

        从上可得,当数字加引用数据类型时,会直接变成字符串的拼接,与引用类型的值进行拼接,得出结果。

你以为你学会了,你以为你懂了,那就测试一下下面这道题吧:

let a = 10 + null + true + [] + undefined + '我要点赞' + null + [] + 10 + false
console.log(a);

上一篇:开发(ASP.NET程序)把写代码写至最有面向对象味道


下一篇:Java打印对象信息