如何为typescript中的实例赋值

时间:2017-07-03 03:45:26

标签: typescript

我有一个没有构造函数的类。

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};

我怎样才能做到这一点?

2 个答案:

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