打字稿编译错误
问题描述:
有两个打字稿文件:打字稿编译错误
- 实现类客户
export class Client {
- 一个导入模块,并创建一个主文件的模块一系列客户
import c = module("client")
//...
class Server {
constructor() {
this.clients = new c.Client[];
编译代码似乎工作正常。但是,当我尝试运行用的的NodeJS生成的JavaScript,它抱怨,有一个语法错误:
this.clients = new();
在客户端有打字稿代码了。但不是模块,而是使用声明路径和--out编译器标志将所有内容编译成一个.js文件。客户端代码中的数组创建时没有问题。在JavaScript有
this.arr = new Array();
所以,很显然,编译器只是忘了添加指定一个数组与new()
创建。我通过插入缺少的部分手动修复了错误。但是在对代码和新编译进行小改动之后,又出现了同样的问题。 我使用的是打字稿版本0.8.3并通过npm进行安装。我能做什么 ?
答
我假设你的类服务器定义的客户是c.Client对象的数组,因此它实际上是这样的:
class Server {
clients: c.Client[];
constructor() {
this.clients = new c.Client[];
}
}
我不知道为什么这个代码在所有编译,因为它实际上是一个语法错误。它不适合我。
你混合了两种不同的方式来声明一个数组:new Array() and []。只是改变你的路线,你应该很好走:
this.clients = [];
有趣。在客户端,完全相同的代码工作正常。所以我总是假定语法是有效的。不幸的是,解决方案已经揭示或者产生了新的问题。那么,这不是这个问题的范围,我很乐意接受你的答案。我的+1 – lhk 2013-03-06 16:48:38