结论
toString:调用数组各个元素的toString方法,然后用逗号(,)拼接到一起。
valueOf:返回数组本身
toLocaleString:调用数组各个元素的toLocaleString方法,然后用逗号(,)拼接到一起,类似toString
如果数组中某个元素值为null || undefined,上述三者会把它以空字符串的格式输出。
详解
class Person {
constructor(value) {
this.value = value;
}
valueOf() {
return `${this.value} valueOf`
}
toString() {
return `${this.value} toString`
}
toLocaleString() {
return `${this.value} toLocaleString`
}
}
let person1 = new Person(1);
let person2 = new Person(2);
let arr = [undefined,null,person1, person2];
console.log(
'toString:', arr.toString(), '\n',
'valueOf:', arr.valueOf() === arr, '\n',
'toLocaleString:', arr.toLocaleString()
);
输出:
toString: ,,1 toString,2 toString
valueOf: true
toLocaleString: ,,1 toLocaleString,2 toLocaleString