我现在正在学习Angular2。在课中我读到我必须将数据保存到"任何"数组,然后在这个示例之后是这样的代码:
import { Component } from '@angular/core';
import { GithubService } from '../../services/github.service';
@Component({
selector: 'profile',
template: `<h1>Profile Component</h1>`,
})
export class ProfileComponent {
user:any[];
constructor(private _githubService:GithubService){
// this._githubService.getUser().subscribe(user => {console.log(user)});
this._githubService.getUser().subscribe(user => {
this.user = user;
});
}
}
user:any[];
的含义是什么?我试图在谷歌上搜索谷歌等等,但没有发现任何东西。不知道什么事情要读。
答案 0 :(得分:3)
首先要知道的是any[]
只是Typescript中的有效变量声明,而不是Javascript中的。
这是一个两部分声明 - 在Typescript中使用[]
来声明一个值数组。 any
用于声明数组中的条目可以是任何类型。相反,您只能为数组指定一个有效类型。例如,string[]
将声明一个string
个对象的数组。然后,Typescript编译器会检查您是否只将string
个对象添加到数组中。
答案 1 :(得分:0)
user: any;
表示我们可以存储string,number,object,boolean等类型的变量。
user: any[];
表示user
必须是一个数组,数组元素可以包含类型字符串,数字,s对象,布尔值等。
答案 2 :(得分:0)
使用any
通常表示缺少正确的类型。因此,我强烈建议定义一个描述用户对象的接口User
。
或者,在这种情况下,甚至使用一些准备好的类型化API-例如https://www.npmjs.com/package/typed-github-api