我是Typescript
的新用户,并开始使用它来玩Ionic
。我来自Java
背景,我习惯了它的语法和做事方式,遇到了一些麻烦。专门创建新的对象实例并使其初始化。Instantiate typescript class
最近我遇到了这个我无法解释的问题。我发送了一个HTTP GET请求,并在Javascript
Object
中得到响应。
要使用此响应工作,我试图映射此Javascript
Object
我收到一个typescript
类矿井我把它叫做HttpResponse
,创造它的一个新实例,当我收到的响应。为了让事情变得更容易,我创建了一个简单的小提琴来解释我的问题。
你可以找到快速写入小提琴on this link
正如你可以在输出中看到,对象数据是存在的,但是当我调用HttpResponse
它只是创建一个空的实例,它包含了什么,我不不明白为什么它这样做。
任何帮助表示赞赏!下面的代码:
class HttpResponse {
constructor(status: number = 0,
data: string = '',
headers: Object = '',
error: string = ''){}
}
class Page {
response: HttpResponse;
retrieveData(): void {
document.body.innerHTML += 'inside retrieveData()<br>';
let data = {
status: 200, data: "this is some fake data",
headers: { foo: 'foo', bar: 'bar', baz: 'baz' }
}
document.body.innerHTML +='Data: ' + JSON.stringify(data) + '<br>';
this.response = new HttpResponse(data.status, data.data, data.headers);
document.body.innerHTML += JSON.stringify(this.response);
}
}
new Page().retrieveData();
哼哼声明构造函数的参数,是的,这是有道理的......我很困惑,你可以直接在构造函数中声明属性,但现在我清楚地看到,你必须指定可见性修饰符(无论是公有的还是私有的)。现在想想看,我看到我只是在构造函数中指定了普通参数,并且不会自动将它们转换为类属性......很高兴你帮我看到了! – JorgeGRC