打字稿错误"找不到姓名"

时间:2016-07-21 17:57:13

标签: javascript class typescript compiler-errors

我正在尝试使用big.js库,其定义为here

现在,这条线有效:

const CONSTANT_1 = new Big(0);

虽然这一行:

const CONSTANT_2 : Big = new Big(0);

导致错误:

error TS2304: Cannot find name 'Big'.

问题是什么?

1 个答案:

答案 0 :(得分:4)

查看第一个隐式键入的内容:

BigJsLibrary.BigJS

<强>问题

这不起作用的原因......

const CONSTANT_2: Big = new Big(0);

...是因为Big被定义为定义文件中的变量 - 而不是类型:

declare var Big: BigJsLibrary.BigJS;

<强>解决方案

如果您希望使用显式类型,则需要引用构造函数的创建类型...

const CONSTANT_2: BigJsLibrary.BigJS = new Big(0);

...如此处的定义文件中所示:

interface BigJS_Constructors {
    new (value: number): BigJS;
    // etc...
}