Arrays 如何在数组的typescript中定义数据类型?

Arrays 如何在数组的typescript中定义数据类型?,arrays,class,typescript,types,constructor,Arrays,Class,Typescript,Types,Constructor,我试图定义一种数组类型,基本上如下所示: [ { name: string, comment: string }, { name: string, comment: string } ] 但无论数组中有多少注释,它都需要工作 我找到了一些像这家伙一样的设定长度的例子 但我无法让它为我所做的工作发挥作用,以下是上下文: class Post{ person: string; bird: string; content: string;

我试图定义一种数组类型,基本上如下所示:

[
  {
    name: string,
    comment: string
  },
  {
    name: string,
    comment: string
  }
]
但无论数组中有多少注释,它都需要工作

我找到了一些像这家伙一样的设定长度的例子

但我无法让它为我所做的工作发挥作用,以下是上下文:

class Post{
  person: string;
  bird: string;
  content: string;
  image: string;
  comments: Array<MyType>;
  score: number;
  grade: number;
  constructor(p: string, b: string, c: string, i: string = '', cm: Array<MyType> = []) {
    this.person = p
    this.bird = b
    this.content = c
    this.image = i
    this.comments = cm
    this.score = 0
    this.grade = this.score + this.cm.length
  }
}
class Post{
人:弦;
鸟:弦;
内容:字符串;
图像:字符串;
评论:数组;
分数:数字;
等级:编号;
构造函数(p:string,b:string,c:string,i:string='',cm:Array=[]){
这个人=p
这只鸟
这个。内容=c
this.image=i
this.comments=cm
这个分数=0
this.grade=this.score+this.cm.长度
}
}

我应该如何定义类型MyType?

我总是喜欢接口ovre类

interface Post{
  person: string;
  bird: string;
  content: string;
  image: string;
  comments: Array<Comment>;
  score: number;
  grade: number;
}
interface Comment{
    name : string;
    comment:string;
}
接口柱{
人:弦;
鸟:弦;
内容:字符串;
图像:字符串;
评论:数组;
分数:数字;
等级:编号;
}
接口注释{
名称:字符串;
注释:字符串;
}

我总是更喜欢接口类

interface Post{
  person: string;
  bird: string;
  content: string;
  image: string;
  comments: Array<Comment>;
  score: number;
  grade: number;
}
interface Comment{
    name : string;
    comment:string;
}
接口柱{
人:弦;
鸟:弦;
内容:字符串;
图像:字符串;
评论:数组;
分数:数字;
等级:编号;
}
接口注释{
名称:字符串;
注释:字符串;
}
班级帖子{
人:弦;
鸟:弦;
内容:字符串;
图像:字符串;
评论:数组;
分数:数字;
等级:编号;
构造函数(p:string,b:string,c:string,i:string='',cm:Array=[]){
这个人=p
这只鸟
这个。内容=c
this.image=i
this.comments=cm
这个分数=0
this.grade=this.score+this.cm.长度
}
}
班级帖子{
人:弦;
鸟:弦;
内容:字符串;
图像:字符串;
评论:数组;
分数:数字;
等级:编号;
构造函数(p:string,b:string,c:string,i:string='',cm:Array=[]){
这个人=p
这只鸟
这个。内容=c
this.image=i
this.comments=cm
这个分数=0
this.grade=this.score+this.cm.长度
}
}

我不会将
Post
转换为接口,因为OP中的
Post
类的构造函数包含一些逻辑<代码>注释作为一个接口应该很好。如果您使用的是模型(自定义数据类型),则可以使用该接口。当实例保持不变时,编写类和创建实例会给某些时候带来麻烦。构造函数从OP中获取类内部的逻辑意味着
Post
不仅仅是提供结构(接口应该优先),但也要创建一个实际的
Post
实例,这是界面无法实现的。我只是想用一种有组织的方式为我正在制作的angular 4应用程序创建样本数据,它仍然没有正确编译,所以我决定先做api,我不会将
Post
转换为接口,因为OP中
Post
类的构造函数有一些逻辑<代码>注释作为一个接口应该很好。如果您使用的是模型(自定义数据类型),则可以使用该接口。当实例保持不变时,编写类和创建实例会给某些时候带来麻烦。构造函数从OP中获取类内部的逻辑意味着
Post
不仅仅是提供结构(接口应该优先),但也要创建一个实际的
Post
实例,这是界面无法实现的。我只是想用一种有组织的方式为我正在制作的angular 4应用程序创建样本数据,它仍然没有正确编译,所以我决定先让api好,这样你只定义数组中的类型,而不是数组的整个结构?是的,这就是你在javascript中模拟类型安全检查的方式,你只需要告诉它“形状”您的列表中包含的对象的类型,所以您只定义数组中的对象的类型,而不是数组的整个结构?是的,这就是您在javascript中模拟类型安全检查的方式,您只需要告诉它您的列表中包含的对象的“形状”