假设我们有一个对象:
['Marcus', '21']
如果我使用模板字符串,它显示为普通字符串,为什么?
答案 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
是一个数组,因此被记录为带有数组定界符的数组。