字符串的转化规则?
字符串
转化成字符串类型的方式
1.toString()方法
例如
var age = 11;
console.log(age.toString());//"11"
var found = true;
console.log(found.toString());//"true"
2.String()函数
例如
var age = 11;
console.log(String(age));//"11"
var found = true;
console.log(String(found));//"true"
3.利用+“”
例如
var age = 11;
console.log("" + age);//"11"
var found = true;
console.log("" + found);//"true"
其它值到字符串的转化规则
1.null和 undefined类型
null和 undefined类型 ,null 转换为 “null”,undefined 转换为 “undefined”,
var age = null;
console.log(String(age));//"null"
var found = undefined;
console.log(String(found));//"undefined"
注意如果null和undefined用toString()方法则会出现报错 TypeError
var age = null;
console.log(age.toString());//"TypeError"
var found = undefined;
console.log(found.toString());//"TypeError"
2.Boolean类型
Boolean 类型,true 转换为 “true”,false 转换为 “false”。
var age = true;
console.log(age.toString());//"true"
var found = false;
console.log(found.toString());//"false"
3.Number 类型
Number 类型的值直接转换,不过那些极小和极大的数字会使用指数形式。
var age = 15458478485645646848646468486468456454444444444444444446846;
console.log(age.toString());//"1.5458478485645647e+58"
var found = 12;
console.log(found.toString());//"12"
4.Symbol 类型
Symbol 类型的值直接转换,但是只允许显式强制类型转换,使用隐式强制类型转换会产生错误。
let name =Symbol("钢铁侠");
console.log(name.toString());//Symbol(钢铁侠)
let name =Symbol("钢铁侠");
console.log(""+name);//TypeError
5.对对象来说
对普通对象来说,除非自行定义 toString() 方法,否则会调用
toString()(Object.prototype.toString())来返回内部属性 [[Class]] 的值,如"[object
Object]"。如果对象有自己的 toString() 方法,字符串化时就会调用该方法并使用其返回值。扫描二维码关注公众号,回复: 14741719 查看本文章