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