转换为字符串
toString()方法
返回当前值的字符串等价物。比如:
toString()方法可见于数值、布尔值、对象和字符串值。
let age = 11;
let ageAsString = age.toString(); // 字符串"11"
let found = true;
let foundAsString = found.toString(); // 字符串"true"
null 和 undefined 值没有 toString()方法。
let a = null;
let b = undefined;
console.log(toString(a)) // [object Undefined]
console.log(toString(b)) // [object Undefined]
底数参数
即以什么进制来输出数值的字符串表示。默认十进制。比如:
let num = 10;
console.log(num.toString()); // "10"
console.log(num.toString(2)); // "1010"
console.log(num.toString(8)); // "12"
console.log(num.toString(10)); // "10"
console.log(num.toString(16)); // "a"
String()
转型函数,返回相应值的字符串。String()函数遵循如下规则。
- 如果值有 toString()方法,则调用该方法(不传参数)并返回结果。
- 如果值是 null,返回”null”。
- 如果值是 undefined,返回”undefined”。
下面看几个例子:
let value1 = 10;
let value2 = true;
let value3 = null;
let value4;
console.log(String(value1)); // "10"
console.log(String(value2)); // "true"
console.log(String(value3)); // "null"
console.log(String(value4)); // "undefined"
null 和 undefined 没有 toString()方法,所以 String()方法就直接返回了这两个值的字面量文本。其他转换结果与调用 toString()相同。