Javascript typescript中的工厂函数语法
我不理解这里的c类型标记语法:Javascript typescript中的工厂函数语法,javascript,typescript,Javascript,Typescript,我不理解这里的c类型标记语法: 函数CreateCustomer(cust:{new():c;}, 姓名:string,年龄:number):c 有人能解释一下上面3个不同位置的c是什么吗?1st c是集合变量必须扩展ICCustomer的声明(在应用程序中,您可以有VIPCustomer、MegaCustomer…) 然后第二个c只是安全保护,c的构造函数是100%扩展ICCustomer(将此对象返回到cust) 最后一个c是整个函数的返回类型 祝你今天愉快 1st c是集合变量必须扩展
函数CreateCustomer(cust:{new():c;},
姓名:string,年龄:number):c
有人能解释一下上面3个不同位置的c是什么吗?1st c是集合变量必须扩展ICCustomer的声明(在应用程序中,您可以有VIPCustomer、MegaCustomer…) 然后第二个c只是安全保护,c的构造函数是100%扩展ICCustomer(将此对象返回到cust) 最后一个c是整个函数的返回类型
祝你今天愉快 1st c是集合变量必须扩展ICCustomer的声明(在应用程序中,您可以有VIPCustomer、MegaCustomer…) 然后第二个c只是安全保护,c的构造函数是100%扩展ICCustomer(将此对象返回到cust) 最后一个c是整个函数的返回类型 祝你今天愉快
表示“c
是扩展iccustomer
的一种类型”cust:{new():c;}
表示“cust
是一个可以用new cust()
调用的函数,它将返回c
类型的对象”function CreateCustomer/*…*/(/*…*/):c
表示“functionCreateCustomer
返回类型为c
的对象”var john:Customer=CreateCustomer(客户,“john”,35)
其中,
Customer
是扩展iccustomer
接口的类
表示“c
是扩展iccustomer
的一种类型”cust:{new():c;}
表示“cust
是一个可以用new cust()
调用的函数,它将返回c
类型的对象”function CreateCustomer/*…*/(/*…*/):c
表示“functionCreateCustomer
返回类型为c
的对象”var john:Customer=CreateCustomer(客户,“john”,35)
其中,
Customer
是扩展iccustomer
接口的类
function CreateCustomer<c extends ICustomer>(cust:{new(): c;},
name: string, age: number): c