将 ES6 类转换为 typescript 类

Sha*_*ika 0 javascript node.js typescript ecmascript-6 reactjs

我有以下 ES6 类。

class Http {
    isFormData;
    url;
    token;
    data;

    constructor() {
        this.isFormData = false;
        this.url = '';
        this.token = '';
        this.data = {};
    }

    /** Set url */
    setUrl(url: string) {
        this.url = url;
        return this;
    }

    /** Set data */
      setData(data: Object) {
        this.data = data;
        return this;
    }
}

export default new Http();
Run Code Online (Sandbox Code Playgroud)

我想让它成为一个打字稿类。我试过了,但有些属性没有正确识别。我怎样才能使它成为一个打字稿类?

klu*_*gjo 5

您需要指定属性的类型。我还建议您将它们设为私有:

class Http {
    private isFormData: boolean;
    private url: string;
    private token: string;
    private data: Object;

    constructor() {
        this.isFormData = false;
        this.url = '';
        this.token = '';
        this.data = {};
    }

    /** Set url */
    setUrl(url: string) {
        this.url = url;
        return this;
    }

    /** Set data */
    setData(data: Object) {
        this.data = data;
        return this;
    }
}

export default new Http();
Run Code Online (Sandbox Code Playgroud)