我通过tsc运行我的代码,并为接受单个字符串参数的构造函数提供以下输出:
function Session(endpoint) {
var _this = this;
_super.call(this);
this.endpoint = endpoint;
没有检查参数是否已定义或typeof(endpoint)===“string”。
这些检查仅在编译时进行吗?我最初在构造函数中进行了一些健全性检查以确保值是正确的,然后删除它们因为我假设tsc会输出它们。类型声明在编译时肯定会有用,但我也希望进行运行时检查,并希望不必编写所有样板文件。
感谢。
答案 0 :(得分:1)
没有。 Typescript没有运行时类型检查。
在语言中包含此内容的提议是declined,并引用了design goals。
答案 1 :(得分:0)
应该知道在我第一杯咖啡之前发布一个问题。谷歌搜索“打字稿运行时类型检查”给了我答案:
显然outside of TS' goals但有一个NPM package就可以了。