最近对基本数据类型之间的相互转化弄的比较模糊,所以今天就抽时间好好整理了一下基本数据类型之间的相互转换。
一、转换成布尔类型
1、数字转换成布尔类型
数字中只有0转换成布尔类型的时候是FALSE,剩下的所有数字转换成布尔类型的时候都是TRUE;
2、字符串转换成布尔类型
字符串中只有空字符串转换成布尔类型的时候是FALSE,剩下所有的字符串转换成布尔类型的时候都是TRUE;
3、其他类型转成成布尔类型
undefined和null转换成布尔类型的时候是FALSE;
任何对象和数字转换成布尔类型的时候是TRUE;
二、转换成字符串
强制转换成字符串有两种方法
1.使用连字符,即使用一个空字符串与数字进行连接就构成了一个字符串
2.使用String(x)即字符串构造函数,可以构成一个字符串。
1、数字转换成字符串类型
数字基本是按原样转换成字符串的
2、其他类型转换成字符串
Null转换成字符串的时候是null;
undefined转换成字符串的时候是undefined;
Boolean转换成字符串时是TRUE或者FALSE;
Object转换成字符串时是object;
三、转换成数字
强制转换成数字有两种方法:
1、+x 使用一个一元的加好运算符
2、使用不带new的数字构造函数进行强制转换----number(x)
1、字符串转换成数字
除了空字符串会被转换成0,剩下的字符串如果是正确的数字书写格式的话,就可以转换成数字,不管就小数、八进制形式等,但如果掺杂了其他不能构成数字或不符合数字书写形式规则的,会被转换成NAN。
NAN是指不是数字的意思,任何数字和NAN进行运算得到的结果都是NAN,NAN甚至跟自己也不相等。
二、其他类型转换成数字
Undefined转换成数字时是NAN;
Null转换成数字时是0;
Boolean转换成数字时是1或者0;
Object转换成数字时是NAN;
即对象和函数总是被转化成NAN