账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    typescript 如何使用中括号获取对象的属性
    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
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 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"]

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部