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