我有2个班级,我想在
中导入一个班级班级学生
export class students {
public avr=123;
constructor(a,b,c){}
}
班级学院
import {students} from './commonwork'
export class college{
constructor(public abc:students){}
}
这种方式很好用。
但是
当我尝试在构造函数中或类中任何位置的College类中使用new关键字创建类的实例时
var studentinstance= new student(){}
我收到错误消息“期望3个参数,但得到0.ts(2554)”
能否请您解释一下使用new关键字和:(冒号)创建实例的区别
答案 0 :(得分:0)
:
声明一个类型;它不会创建实例。
请参见documentation。
答案 1 :(得分:0)
public abc:students
不会创建任何内容。¹:students
部分只是为abc
分配类型。它不会创建该类型的实例,只是说如果abc
要引用任何东西,它必须是students
类型。
此:
var studentinstance= new student(){}
...正在创建一个变量(studentinstance
)并分配一个student
(单个)实例。 {}
与其没有任何形式的连接,它只是您可以并且应该删除的语句之后的空白块。
我建议您逐步学习一些基本的TypeScript教程。
¹在它出现的位置(构造函数参数列表)中,它声明 abc
作为students
实例的属性,并作为构造函数的第一个参数(并根据构造函数参数自动设置属性)。因此从某种意义上讲,您可能会说它创建了一个属性。但是,它不会创建对象。