为什么模板字符串中的数组显示为普通字符串?

时间:2019-07-28 07:39:22

标签: javascript ecmascript-6

假设我们有一个对象:

['Marcus', '21']

如果我使用模板字符串,它显示为普通字符串,为什么?

1 个答案:

答案 0 :(得分:1)

在模板文字内部,内部表达式隐式强制为字符串(因为模板文字始终求值为字符串)。因此,作为插值过程的一部分,数组用逗号分隔.join,并成为一个字符串(没有[],并且项之间没有字符串定界符)。

console.log(`${pet.foods.likes}`)    //returns bones,carrots

等同于

console.log(pet.foods.likes.join(','))

console.log(pet.foods.likes.toString())

相反,普通的pet.foods.likes是一个数组,因此被记录为带有数组定界符的数组。