我有一个没有构造函数的类。
export class UserInfo {
public userName: string = '';
public belongTo: string = '';
}
我可以在创建类的实例后分配它。
let u:UserInfo = new UserInfo();
u.userName = 'name';
u.belongTo = 'A';
但是我想在创建实例时分配它,可能就像:
let u:UserInfo = {userName:name, belongTo:A};
let u:UserInfo = new UserInfo(){userName:name, belongTo:A};
let u:UserInfo = <UserInfo>{userName:name, belongTo:A};
我怎样才能做到这一点?
答案 0 :(得分:0)
我认为我们不能像在C#中一样使用这种语法(如果我错了,请纠正我):
let u:UserInfo = new UserInfo(){userName:name, belongTo:A};
最接近你想要的是:
class UserInfo {
constructor(private userName: string, private belongTo: string) {
}
}
初始化将是:
let u:UserInfo = new UserInfo(name, A);
我看到this作为参考。
答案 1 :(得分:0)
尝试以下方法
方法1: 带构造函数的类
class A {
int a;
constructor(int a){
this.a=a;
}
}
//Object creation
let x:A=new A(1);
方法2:对象分配
Object.assign(new A(),{a:1})