[英]Is there any shorthand for binding interface constructor in typescript?
我是打字稿世界的新手,我知道可以将构造函数的参数绑定到类这样的类
class user {
constructor(private username:string){}
}
代替
class user {
constructor(username:string){
this.username = username;
}
}
我只是想知道是否可以用接口做类似的事情? 例如:
interface IUser{
username:string;
}
class User implements IUser {
constructor( private data:IUser ){
}
}
没有简写。 您需要将传入的对象的属性映射到类的实例。 你可以通过多种方式实现这一目标 。 这是一个例子:
class User implements IUser {
username: string;
constructor(data: IUser) {
Object.keys(data).forEach((key) => {
this[key] = data[key];
});
}
}
请注意,在此示例中,如果传入的对象具有其他属性,那么它也会将这些属性映射到您的对象。
顺便说一下,较短的方法是使用Object.assign
。 assign
是Object
上的新ES6函数。 您可以使用链接到站点上找到的polyfill使其在不支持它的运行时环境中工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.