javascript - SyntaxError:标识符在数字文字 ts(1351) 之后立即开始
问题描述
问题出在标题中。上下文:我有一个使用 Fetch 访问的 API。
fetch(apiUrl)
.then( (data) => {
if(data.ok){
return data.json()
}
throw new Error('Response not ok.');
})
.then( player => generateHtml(player))
.catch( error => console.error('Error:', error))
但我想在 HTML 文件中显示 API 的内容。我是这样解决的。
const generateHtml = (data) => {
console.log(data)
const html = `
<h2 class="" >${data.profiles.028304b866cc47d18c08e902edfcb4c6.data.display_name}</h2>
<div class="name">${data.profiles.028304b866cc47d18c08e902edfcb4c6.cute_name}</div>
<div class="armor">${data.profiles.028304b866cc47d18c08e902edfcb4c6.items.armor_set}</div>
<div>Rarity: ${data.profiles.028304b866cc47d18c08e902edfcb4c6.items.armor_set_rarity}</div>
`
const playerprofilebox = document.querySelector('#object')
playerprofilebox.innerHTML = html
但是如您所见,profiles 后面的元素以数字开头,但我无法删除该数字,因为这样 API 将不再访问正确的数据。有什么建议么?
解决方案
因为它以数字开头,所以您需要使用括号表示法来访问它:
var obj = {
'0123abc': 10,
'4567def': 20
};
console.log(obj['0123abc']); // 10
console.log(obj.0123abc); //SyntaxError
``