TypeScript:SyntaxError:控制台中的“意外令牌”消息

ven*_*ber 3 javascript destructuring typescript

为什么此代码不起作用?

我有以下app.ts

var a = 1;
var b = 3;
console.log(`Before a = ${a}, b = ${b}`);

[a, b] = [b, a];
console.log(`After a = ${a}, b = ${b}`);
Run Code Online (Sandbox Code Playgroud)

当我尝试使用

节点应用

我有下一个:

[a, b] = [b, a];
^

ReferenceError: Invalid left-hand side in assignment
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3
Run Code Online (Sandbox Code Playgroud)

但我期望:

Before a = 1, b = 2
After a = 2, b = 1
Run Code Online (Sandbox Code Playgroud)

TypeScript版本1.8.10

Mar*_*tin 7

您需要先编译代码。

tsc app.ts
Run Code Online (Sandbox Code Playgroud)

然后用

node app.js
Run Code Online (Sandbox Code Playgroud)

  • TypeScript 是一种转译语言。tsc,TypeScript 编译器,将 TypeScript 源代码转换为 JavaScript。Nodejs 是一个封装了 V8 虚拟机的 JavaScript 环境。 (2认同)