使用变量作为函数时的编译器错误

时间:2019-03-24 18:55:15

标签: typescript

我正在尝试编译一些Typescript,但遇到编译器错误:

TypeError: myVariable is not a function
    at Object.<anonymous> (/home/anon/Desktop/Typescript/main.js:37:1)
    at Module._compile (internal/modules/cjs/loader.js:738:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
    at Module.load (internal/modules/cjs/loader.js:630:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
    at Function.Module._load (internal/modules/cjs/loader.js:562:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:801:12)
    at internal/main/run_main_module.js:21:11

我确定这是因为myVariable确实不是函数,而是类型为“ any”。但是,如果我没有记错的话,应该可以将此函数作为函数进行访问。

谢谢

let myVariable: any = 10;

console.log(myVariable.name);
console.log();
myVariable();

1 个答案:

答案 0 :(得分:0)

当叙述者说TypeScript没有引发任何错误时(在23:30),他不是在谈论编译错误(从运行tsc程序开始)。他指的是TypeScript linter,它在编译之前会在文本编辑器中检查代码是否存在问题。您会注意到,myVariable()行下方没有红色的“花形”。但是,当他将类型切换为“未知”时,会出现花形。这些曲折是他在谈论的错误-绝不打算运行该代码。