【发布时间】:2016-07-15 06:24:27
【问题描述】:
我在 Node.js 上使用 TypeScript。 TypeScript 在编译期间检查类型,但编译后的 JavaScript 代码不检查类型。例如,这段代码会抛出错误:
var test : number;
test = 'test';
但是Express上的这段代码可以正常工作:
app.post('/', function(req, res, next) {
var test : number;
test = req.body.test;
res.end(req.body.test);
});
因此,我有字符串类型的test,尽管test 是一个数字。
我怎样才能避免这个问题?代码运行时如何查看变量类型?
【问题讨论】:
-
TypeScript 的重点是 static 类型检查,而不是运行时类型检查
-
是否有任何工具可以对 JavaScript 进行运行时类型检查?
-
if (typeof test === 'string') ... else throw new TypeError(...) -
使用github.com/typings/typings 制作typescript typecheck express code。
标签: javascript node.js typescript