模板字符串是一种特殊的字符串语法,它允许我们在字符串中插入变量或表达式。在模板字符串中,如果数组被插入到字符串中,它会被转换为普通字符串。
这是因为模板字符串在处理数组时,会调用数组的toString()
方法将其转换为字符串。toString()
方法会将数组的所有元素转换为字符串,并用逗号分隔。因此,当我们在模板字符串中插入数组时,实际上是将数组转换为了一个逗号分隔的字符串。
举个例子,假设有一个数组[1, 2, 3]
,如果我们将它插入到模板字符串中,例如:
const arr = [1, 2, 3];
const str = `数组:${arr}`;
console.log(str);
输出结果将会是:
数组:1,2,3
在这个例子中,数组[1, 2, 3]
被转换为了字符串"1,2,3"
。
对于模板字符串中的数组,如果我们希望保留数组的原始形式,可以使用数组的join()
方法将其转换为字符串,并指定一个自定义的分隔符。例如:
const arr = [1, 2, 3];
const str = `数组:${arr.join(' | ')}`;
console.log(str);
输出结果将会是:
数组:1 | 2 | 3
在这个例子中,数组[1, 2, 3]
被转换为了字符串"1 | 2 | 3"
,使用了自定义的分隔符" | "
。
总结起来,模板字符串中的数组显示为普通字符串是因为模板字符串会调用数组的toString()
方法将其转换为逗号分隔的字符串。如果我们希望保留数组的原始形式,可以使用数组的join()
方法将其转换为字符串,并指定一个自定义的分隔符。