【问题标题】:js to typescript- tried to convert to typescript but got error [closed]js 到 typescript - 尝试转换为 typescript 但出现错误 [关闭]
【发布时间】:2021-12-30 22:40:01
【问题描述】:

js转typescript的帮助

const profiles = [{
    name: "kamal",
    age: "20",
    designation: "developer",
    grade: "A",
  },
  {
    name: "arun",
    age: "25",
    designation: "developer",
    grade: "A",
  },
  {
    name: "chan",
    age: "23",
    designation: "developer",
    grade: "A",
  },
];

function profileLookup(name, prop) {
  for (let i = 0; i < profiles.length; i++) {
    if (profiles[i].name === name) {
      if (prop in profiles[i]) {
        console.log(profiles[i][prop]);
      }
    }
  }
}

profileLookup("arun", "age");

【问题讨论】:

  • 怎么了? Typescript 是 javascript 的超集,任何有效的 JS 都是有效的 TS。但是,您可能会遇到类型错误。如果是,那么您需要在问题中提供这些类型错误。如果您在帖子中包含实际问题也会有所帮助。
  • 错误是什么?一切似乎都在编译和执行。
  • @Olian04 - 哦,那是真的吗。 :-) 在&lt;&gt; 周围有一些极端情况,TypeScript 实际上改变了代码的含义或认为代码无效。只有几个,但他们在那里......
  • 嗯,是的@T.J.Crowder,但我怀疑这是 OP 的相关信息。
  • @Olian04 这是给你的,不是给 OP 的。

标签: javascript typescript types typescript-typings typescript-generics


【解决方案1】:

请在下面找到示例代码。

    type Profile = {
    name: string;
    age: string;
    designation: 'developer' | 'QA' | 'manager';
    grade: 'A' | 'B' | 'C';
}

const profiles: Profile[] = [{
    name: "kamal",
    age: "20",
    designation: "developer",
    grade: "A",
},
{
    name: "arun",
    age: "25",
    designation: "developer",
    grade: "A",
},
{
    name: "chan",
    age: "23",
    designation: "developer",
    grade: "A",
},
];

function profileLookup(name:string, prop:keyof Profile) {
    for (let i = 0; i < profiles.length; i++) {
        if (profiles[i].name === name) {
            if (prop in profiles[i]) {
                console.log(profiles[i][prop]);
            }
        }
    }
}

profileLookup("arun", "age");

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多