- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 typescript 项目,其中一个模块被拆分成多个文件。有一个与该模块同名的类通过声明合并获取嵌套类,但编译器抛出错误:Bar.ts(1,1):错误 TS2188:模块“Foo”无法与先前在不同文件“path/to/my/file/Foo.ts”中声明的“Foo”合并。
文件'Foo.ts'
class Foo {
constructor() {
}
}
文件'Bar.ts'
module Foo {
export class Bar {
constructor() {
}
}
}
我正在使用 tsc Foo.ts Bar.ts --declaration --out foo.js
我的主要问题是,我希望能够在我的 Foo 类中使用 var bar = new Bar();
,我认为应该提供声明合并(语言规范在这里并没有真正帮助我)。现在我必须使用 var bar = new Foo.Bar();
,这很烦人。
是我做错了什么还是编译器错误?
顺便说一句,--declaration
似乎不起作用,希望这是由这些错误引起的。
最佳答案
模块和类可以在这些限制下合并:
如果您查看为此生成的代码,规则 #1 的原因就变得显而易见了——在 JavaScript 中,您可以向函数(在本例中为构造函数)添加属性,但您不能接受现有对象并将其转换为函数。
#1 是#2 的结果,因为对于并行编译,没有办法强制一个脚本在另一个脚本之前加载,如果顺序错误,您将看到的行为将非常困难进行调试。
关于TypeScript:模块 x 无法与先前在不同文件中声明的 x 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20614746/
我的应用将 SceneKit 内容的“页面”与图像和文本交替。当我从图像页面前进到新的 SceneKit 页面时,前一个 SceneKit 页面中的内容会短暂显示,然后被新内容替换。时髦。 我只使用一
我正在尝试处理(在 C# 中)包含一些数字数据的大型数据文件。给定一个整数数组,如何对其进行拆分/分组,以便如果下一个 n(两个或更多)是负数,则前一个 n 元素被分组。例如,在下面的数组中,应该使用
刚接触promises,研究过。所以我的代码和我的理解: sql.connect(config).then(function(connection) { return connection.req
目前我在 if (roobaf) block 中有一些代码,这取决于 foo 和 bar 是否为假。我可以在 block 内再次检查这些条件,但感觉像是不必要的代码重复。 if (foo) {
我是一名优秀的程序员,十分优秀!