【问题标题】:How can I reuse a variable in typescript?如何在打字稿中重用变量?
【发布时间】:2022-07-20 17:35:06
【问题描述】:

我想将我的变量 children 用于不同的情况:

var children = [];

if (folderPath == '/') {
      var children = rootFolder;
} else {
      var children = folder.childs;
}

但我收到错误消息:

变量 'children' 必须是 'any[]' 类型,但这里有类型 '文件夹[]'

这是什么意思?

【问题讨论】:

  • var children:any = [] 做这个和它的工作。
  • @BrijeshKalkani 不,从不这样做。然后,您将失去从 TypeScript 获得的所有好处。
  • 检查 rootFolder 的值,它必须是一个类型数组。或者你可以使用 array.push 方法。
  • var children: string | number | Date | Blob 所以使用这个。
  • @BrijeshKalkani 这也行不通。为什么你会认为这种情况涉及 Blob?

标签: javascript typescript variables types


【解决方案1】:

一般来说,如果“将变量用于不同的情况”涉及将它们用于不同的类型,那么你做错了。

你的代码看起来应该是这样的

const children: Folder[] = (folderPath === '/' ? [rootFolder] : folder.childs);

假设rootFolderFolder 类型,而folder.childsFolder[]

在这种情况下,你应该能够做到

const children = (folderPath === '/' ? [rootFolder] : folder.childs);

也让推理来处理事情。

如果你想使用if,那么

const children: Folder[];

if (folderPath === '/') {
   children = [rootFolder];
} else {
   children = folder.childs;
}

【讨论】:

    猜你喜欢
    • 2021-02-17
    • 2017-07-21
    • 2018-03-05
    • 2022-10-30
    • 1970-01-01
    • 2018-09-18
    • 2017-10-22
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多