有两个js文件(ts->js)。在 html 中连接。一个是上课,另一个是听众。第二个文件使用第一个文件中的函数,但类型编译器认为它们未定义。它之所以有效,是因为在编译时它不会触及它们的名称并且 js 从全局范围挂钩它们。但还是不愉快,但愿没有这种警告。我会指定:我写在客户端。不是节点第一个文件
/// <reference path="classes.d.ts" />
let digit = new Digit(number, cur_scale); // cannot find name Digit
类.ts
class Digit {
constructor(number, scale) {}
}
类.d.ts
export class Digit {}
界面:
广告:
你可以选择其中之一。但是接口可以说是对象的简化类型,但是可以继承
英语SO
interface之间和declareon的区别也有很好的描述。更新。例如,您可以声明一个类类型(如果接口或声明的名称与某个类的名称相同,这对我来说不会导致致命错误)
我的.d.ts
一些 .ts 文件
那些。你在声明中说你将使用什么方法,因此一开始它们总是构成类/对象/函数的描述部分。
那些。如果你没有在你的类中声明一个方法,他会在这里发誓
testFunc,但它会在声明中。或者,如果你声明了一些东西,例如,你可以说变量将是这种类型,那么你需要这样写:
第一个文件,worker.ts:
第二个文件 classes.ts:
第一个文件正确定义了第二个文件中的类。