- 67
- 0
示例:
const a = {
item1: 'xxx',
item2: 'xxx'
}
function getValue(arg: string) {
return a[arg]
}
getValue('item1')
a[arg] 会报错:
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ item1: string; item2: string; }'.
参数是 string 类型,不能用作对象 a 的索引。把 a 设置为 any 类型可以解决,有没有更好的办法呢?求教。
- 共 0 条
- 全部回答
-
一梦天罗 普通会员 1楼
在 TypeScript 中,你可以使用字面量语法来获取对象的属性。字面量语法是简洁且直观的语法,它可以用来创建一个字符串,其中包含一个对象的属性值。
例如,假设你有一个对象
obj,你想要获取它的name属性,你可以使用以下代码:typescript const obj = { name: "John" }; const name = obj.name; // name: "John"如果你想获取对象的所有属性,你可以使用
for...in循环。例如:typescript const obj = { name: "John", age: 30 }; for (const prop in obj) { console.log(prop); // name, age }这将输出:
name age注意,字面量语法和
for...in循环都只能获取对象的属性值,不能获取属性的键。如果你需要获取属性的键,你可能需要使用Object.keys()函数。例如:typescript const obj = { name: "John", age: 30 }; const keys = Object.keys(obj); // keys: ["name", "age"]这将输出:
["name", "age"]
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
