打字稿错误TS1005:';' 预计,但我没有看到我错过了分号

Kel*_*lly 10 typescript

我正在尝试学习Typescript,我正在按照本页面上的教程进行操作:https://www.typescriptlang.org/docs/handbook/functions.html .当我创建文件cardPicker.ts并粘贴以下代码时,它将无法编译.我得到这个错误5次:打字稿错误TS1005:';' 预期.第1,6,7,14和15行.我看不到分号丢失的位置,但错误信息可能意味着其他内容.我担心我的ts版本,但我刚刚在两周前安装了它.当我做"tsc -version"时,它说1.0.3.0

let deck = {
  suits: ["hearts", "spades", "clubs", "diamonds"],
  cards: Array(52),
  createCardPicker: function() {
     return function() {
         let pickedCard = Math.floor(Math.random() * 52);
         let pickedSuit = Math.floor(pickedCard / 13);

         return {suit: this.suits[pickedSuit], card: pickedCard % 13};
     }
  }
}

let cardPicker = deck.createCardPicker();
let pickedCard = cardPicker();

alert("card: " + pickedCard.card + " of " + pickedCard.suit);
Run Code Online (Sandbox Code Playgroud)

我通过在命令行中运行"tsc cardPicker.ts"来编译项目.

bug*_*lot 3

这就是你的 ts 文件中的所有内容吗?或者你那里也有一些参考意见吗?

该错误不会抱怨缺少分号,因为 TypeScript 根本不需要您使用它们,就像这方面的 JS 一样。

相反,您收到的错误是因为其他内容对编译器没有意义,例如未正确结束的声明。(请参阅https://github.com/DefinitelyTyped/DefinitelyTyped/issues/4004)。例如:

let deck: Number of Date;
Run Code Online (Sandbox Code Playgroud)

将产生确切的错误。

根据您的设置,您编译的内容可能比您想象的要多。

在您的情况下,由于您的编译器太旧了,可能只是它不理解letTS 1.4 中引入的关键字。

更新

澄清一下,您用于安装打字稿的命令是最新安装的。但为了使用它,您需要运行 node.js 命令提示符而不是普通的 Windows 命令提示符(假设您使用的是 Windows)。