что такое тип Set в машинописи? - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь изменить код JavaScript для машинописного текста. В 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 ??

1 Ответ

1 голос
/ 02 октября 2019

Посмотрев определение в машинописи для набора, вы найдете следующий интерфейс:

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;
}

<T> означает, что для типа Set потребуется параметр типа. Вы можете указать это в вашем IState объекте так:

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

Если вам не нужны типы (вам, вероятно, следует это делать, если вы используете машинопись), тогда вы можете просто передать any как параметр типа, и набор будет работать как в стандартном javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...