什么意思"任何[]"在js / ts数组?

时间:2017-06-12 23:45:31

标签: javascript angular typescript

我现在正在学习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[];的含义是什么?我试图在谷歌上搜索谷歌等等,但没有发现任何东西。不知道什么事情要读。

3 个答案:

答案 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