测试1
let myArray = [1,2,3]
function arrayCounter (array1) {
console.log(`this is statement ${array1}`);
}
arrayCounter(myArray)
O / P =>这是语句1,2,3
测试2
let myArray = [1,2,3]
function arrayCounter2 (array1) {
console.log("this is statement " + array1);
}
arrayCounter2(myArray)
O / P =>这是语句1,2,3
测试3
let myArray = [1,2,3]
console.log(myArray)
O / P => [1,2,3]
在 test-1 和 test-2 中,预期的O / P应该是语句[1,2,3]
那么,为什么会这样呢?我不明白这种情况。
答案 0 :(得分:2)
在测试1和测试2中,您将数组与字符串连接在一起,这将导致调用Array.prototype.valueOf
,并返回用逗号连接的数组项,或者是myArray.join(',')
这样:>
console.log(`this is statement ${array1}`);
与
相同console.log("this is statement " + array1);
与
相同console.log("this is statement " + array1.join(','));
但是在测试3中,您没有console.log
设置字符串-您console.log
设置了 array ,因此在控制台中,您会看到[
和]
表示正在记录的项目是一个数组。
答案 1 :(得分:1)
在测试1和2中,您的数组将转换为字符串:
let myArray = [1,2,3]
console.log('' + myArray)