Dy4*_*Dy4 2 javascript typescript reactjs
我正在尝试使用可选链接应用模板文字。
type Item = {
itemId:number,
price: number};
type ItemType = {
A:Item,
B:Item
};
const data : ItemType = {
A:{itemId:1, price:2},
B:{itemId:2, price:3}
};
let Itemid = `data?.${variable}?.itemId`
Run Code Online (Sandbox Code Playgroud)
其中 variable 是以 A 或 B 作为值的字符串。我不确定是否同时支持可选链接和模板文字。任何线索表示赞赏。
编辑:我在尝试时收到“字符串不能用于索引类型项目” data?.[variable]?.itemId。我现在已经更新了类型。
编辑:删除变量类型有助于解决上述错误消息。
只需将变量包装在里面[,]就像:(data?.[variable]?.itemId它被调用Computed Property Names,它是一个es6功能。)
完整代码:
let data = {
A:{itemId:1, price:2},
B:{itemId:2, price:3}
}
let variable = 'A'
let Itemid = data?.[variable]?.itemId
Run Code Online (Sandbox Code Playgroud)
更多:字符串文字的输出是一个字符串,因此您可以使用它eval(`data?.${variable}?.itemId`)来评估它的值。(请注意,使用eval是一种不好的做法。)
但是,在您的情况下,无需使用模板文字。只需[]按照上述说明使用即可。
| 归档时间: |
|
| 查看次数: |
581 次 |
| 最近记录: |