Typescript中的解构导致编译器错误TS1008和TS1005

cod*_*ant 5 compiler-errors destructuring typescript

我想在typescript中使用destructuring,示例代码:

var {first, second} = { first: "one", second: "two" }
console.log(first);
Run Code Online (Sandbox Code Playgroud)

我的编译命令tsc --t es5 destructuring.ts,

打字稿版本1.6.2,

IDE是vs code.

然后导致三个错误:

destructuring.ts(1,5): error TS1008: Unexpectedtoken; 'identifier' expected.

destructuring.ts(1,21): error TS1008: Unexpected token; 'module, class, interface, enum, import or statement' expected.

destructuring.ts(1,45): error TS1005: ';' expected.;

在我的桌面(窗口8.1 x64)中,命令npm -g list,显示typescript@1.6.2和命令 tsc --version显示Version 1.0.3.0:

打字稿1.0.3.0

但在我的笔记本电脑(Windows 7 x64)中,命令tsc --version显示message TS6029: Version 1.6.2: 打字稿1.6.2

Dav*_*ret 5

我能够在以前版本的TypeScript中重现您的问题,但不能重现1.6.2:

> tsc -v
Version 1.0.3.0
> tsc -t es5 destructuring.ts
error TS1008: Unexpected token; 'identifier' expected.
error TS1008: Unexpected token; 'module, class, interface, enum ...
error TS1005: ';' expected.

> tsc -v
message TS6029: Version 1.6.2
> tsc -t es5 destructuring.ts
>
Run Code Online (Sandbox Code Playgroud)

请确保您在Visual Studio代码中实际使用的是TypeScript> = 1.5.

要修复桌面以使用正确版本的TypeScript,请查看此答案.基本上,您可以tsc通过键入命令来查看运行的位置,where tsc并且必须从路径中删除该目录或删除该目录.