typescript - 为什么打字稿在将公共参数编译为构造函数后会创建重复赋值?
问题描述
我是打字稿的新手,正在玩编译。编译后的文件下面显示了js文件中的两个赋值,为什么会这样?
输入文件
class Student {
constructor(public fname: string){
this.fname = fname;
}
}
输出内容
var Student = /** @class */ (function () {
function Student(fname) {
this.fname = fname;
this.fname = fname;
}
return Student;
}());
解决方案
TypeScript 包含一种从构造函数参数创建和分配类实例属性的简洁方法。
这意味着,而不是:
class TestClass {
public name: string;
constructor(name: string) {
this.name = name;
}
}
一个可以使用:
class TestClass {
constructor(public name: string) { }
}
在您的代码片段中,您混合了两种导致双重分配的语法。
推荐阅读
- amazon-web-services - 处理大型 travis ci 文件的最佳方法
- uwp - UWP 应用程序。从 VS 16.7 升级到 VS 16.10 并收到此错误:MongoDB.Driver.Core.Misc.DnsClientWrapper' throw an exception
- c# - 持久连接池信号器
- javascript - 如何使用 Mocha 按顺序运行测试?
- django-rest-framework - 如何使用嵌套字段更新模型序列化器
- ironpython - 使用 IronPython 从 Spotfire 中的数据表中删除重复项
- android - 如何在 Flutter iOS 中激活应用内购买
- javascript - JS,navigator.mediaDevices.getUserMedia() 不工作
- python - 如何将参数传递给 BuiltIn().run_keyword() 用于嵌入参数的关键字名称
- linux - Docker 在 cgroups v1 上将 inode 和 dentry 平板计算为 MEM USAGE:为什么?