【问题标题】:Convert ES6 class to typescript class将 ES6 类转换为 typescript 类
【发布时间】:2020-05-27 16:01:00
【问题描述】:
我有以下 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();
我想让它成为一个打字稿类。我试过了,但有些属性没有正确识别。我怎样才能使它成为一个打字稿类?
【问题讨论】:
标签:
javascript
node.js
reactjs
typescript
ecmascript-6
【解决方案1】:
最好使用export class Http 导出您的课程,以便您可以导入它
如import {Http} from './http'
export class Http {
isFormData: boolean;
url: string;
token: string;
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;
}
}
【解决方案2】:
您需要指定属性的类型。我还建议您将它们设为私有:
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();