TypeScript 从入门到放弃

本文长期更新

如何在 VSCode 中配置 TypeScript

使用 tsconfig.json

  • 不带任何输入文件情况调用 tsc,编译器从当前目录去查找 tsconfig.json,逐级向上
  • 不带任何输入文件情况调用 tsc,且使用命令行参数 --project ( 或 -p ) 指定一个包含 tsconfig.json 文件的目录
  • 当命令行指定输入文件,tsconfig.json 会被忽略

VScode 调试 TS

使用 ts-node 调试,runtimeArgs 为传递给运行时 node 的参数,args 是为程序提供的配置,-r 作用是预加载 ts-node/register 模块。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "启动程序",
            "args": ["${workspaceFolder}/src/index.ts"],
            "runtimeArgs": [
                "-r",
                "ts-node/register"
            ]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

TypeScript 构造函数简写

在读 mobx 源码过程中,发现一个有意义的代码 ( 笔者对 TS 未使用 )。

class Man {
    constructor(public name: string) {}
}

console.log(new Man('peter'));
1
2
3
4
5

当我查看运行结果的时候,发现输出 {name: 'peter'},当时我十分惊讶,因为代码中并未赋值,为何可以打印值。经过网上搜索,发现这段代码其实是 TS 的一种缩写,对应的代码如下。

class Man{
    constructor(name: string){
        this.name = name;
    }

    public name;
}
1
2
3
4
5
6
7
最后更新: 9/26/2019, 3:06:46 PM