我正在尝试学习Typescript,但似乎找不到与我的代码相关的问题,我尝试搜索但找不到与我的问题相关的任何相关材料。 这是我的代码:-
<code>
class Hello{
lars: string;
constructor(name: string) {
this.lars = name;
}
sayHello(){
return `hello ${this.lars}`;
}
}
let b = new Hello('Metallica');
</code>
我使用tsc test.ts编译代码,它编译没有错误,但是当我使用节点test.ts运行它时,它给了我以下错误:
<blockquote>
lars: string;
^
SyntaxError: Unexpected token :
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
</blockquote>
该文件在我使用Node test.js时运行,但未获得预期的输出,即“ Hello Metallica”,而node test.ts失败。
这是编译后的代码:-
var Hello = /** @class */ (function () {
function Hello(name) {
this.lars = name;
}
Hello.prototype.sayHello = function () {
return "hello " + this.lars;
};
return Hello;
}());
var b = new Hello('Metallica');
答案 0 :(得分:1)
打字稿没有错。您没有看到预期的结果,因为:
node test.js
console.log(new Hello('Metallica').sayHello());
。