【问题标题】:what is type of Set in typescript?打字稿中的 Set 类型是什么?
【发布时间】:2019-10-02 03:54:53
【问题描述】:

我正在尝试将代码 javascript 更改为 typescript 在 Home.tsx 中,

interface IState {
    mySet: ??; // what is type of Set??
    myNum: number;
    myStr: string;
    myArr: number[];
}
class Home extends Component<IProps, IState> {
    constructor(props: IProps) {
        super(props)
        this.state = {
            mySet: new Set([]);
        }

    }
}

什么是Set类型??

【问题讨论】:

  • @Phil - 这对 typescript 有帮助吗?
  • 我只是将 'typeof Set' 写入 ??我说的对吗?
  • 那么,到目前为止,您在哪里进行了详尽的研究和尝试?
  • 我试过了 1. string[]
  • @안다희 我认为在打字稿中你需要为集合指定泛型。所以它应该是Set&lt;number&gt;Set&lt;string&gt; 或者如果你在IState&lt;T&gt; 中有一个泛型,那么它可以是Set&lt;T&gt;

标签: javascript typescript react-native set


【解决方案1】:

通过查看typescript中set的定义,你会发现这个接口:

interface Set<T> {
    add(value: T): this;
    clear(): void;
    delete(value: T): boolean;
    forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;
    has(value: T): boolean;
    readonly size: number;
}

&lt;T&gt; 表示Set 类型需要类型参数。您可以在 IState 对象中指定它,如下所示:

interface IState {
    mySet: Set<number>; // type depends on what type you want to store obviously.
    myNum: number;
    myStr: string;
    myArr: number[];
}

如果您不关心类型(如果您使用的是 typescript,您可能应该关心),那么您可以简单地将 any 作为类型参数传递,该集合将像在标准 javascript 中一样运行。

【讨论】:

  • @안다희 没问题。如果这解决了您的问题,请将其标记为答案:)
猜你喜欢
  • 2016-11-06
  • 2022-01-19
  • 2019-01-26
  • 1970-01-01
  • 2021-03-14
  • 2019-01-10
  • 1970-01-01
  • 2018-06-13
  • 2020-05-31
相关资源
最近更新 更多