String()与 .toString()的区别

String()与 .toString()都是可以转换为字符串类型,但是两者还是有区别的

.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined,.toString() 括号中的可以写一个数字,代表进制,对应进制字符串

二进制:.toString(2);

八进制:.toString(8);

十进制:.toString(10);

十六进制:.toString(16);

1
2
3
4
5
6
7
8
9
10
var str = false.toString();
console.log(str, typeof str);
// false,string
var str = null.toString();
console.log(str, typeof str);
// 报错
var str = undefined.toString();
console.log(str, typeof str);
// 报错

String()可以将null和undefined转换为字符串,但是没法转进制字符串

1
2
3
4
5
6
7
var str = String(null);
console.log(str, typeof str);
// null string
var str = String(undefined);
console.log(str, typeof str);
// undefined string