配置 npm 淘宝源

1
npm config set registry https://registry.npm.taobao.org/

如果后悔了,想撤销淘宝源就运行 npm config delete registry

安装

1
2
npm install typescript@2.9.2 -g
npm install ts-node@7.0.0 -g

注意记下 ts-node 安装后的可执行文件路径,后面要用的。

调试

  1. 下载 vscode

    1. 按 ctrl+K ctrl+S
    2. 将格式化文件的快捷键绑定到自己喜欢的按键(我用的是 ctrl+L)
  2. 创建文件夹 tsdemo

  3. 用 vscode 打开 tsdemo 目录

  4. 创建 tsdemo/1.ts 作为我们的第一个 TS 文件

  5. 在文件里写一句 console.log(1) 保存

  6. Windows 用户注意了,这里需要单独运行一些命令(Linux 用户和 macOS 用户不用执行)

    1
    2
    3
    npm init -y
    npm i -D ts-node typescript

  7. 创建 tsdemo/.vscode/launch.json 文件,内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {
    "configurations": [
    {
    "name": "ts-node",
    "type": "node",
    "request": "launch",
    "program": "注意看这里,要写成ts-node对应的可执行文件,Windows 用户注意了,你应该写成 ${workspaceRoot}/node_modules/ts-node/dist/bin.js",
    "args": ["${relativeFile}"],
    "cwd": "${workspaceRoot}",
    "protocol": "inspector"
    }
    ]
    }

  8. 打开 tsdemo/1.js,找到调试选项,选择 ts-node,然后点击调试

  1. 然后你就可以看到 console.log(1) 的输入结果了(请确保你选中的是 tsdemo/1.ts)

—ps:使用命令行打包TS。tsc xx.ts,持续监听并打包tsc -w xx.ts

开始学习

  1. 前置知识
    1. 你要对 npm 比较熟悉
    2. 你要对命令行比较熟悉
    3. 你要对 ES 6 比较熟悉
    4. 你要对 class 比较熟悉
  2. 学习一下官方的五分钟教程
  3. 刻意练习
    1. 大概浏览一下文档
    2. 一些简单的计算
    3. 一些简单的应用
    4. 边练习边查文档
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
enum Gender {
Male,
Female
}
interface Person {
gender: Gender;
}

function merry(a: Person, b: Person): [Person, Person] {
if (a.gender !== b.gender) {
return [a, b];
} else {
throw new Error('性别相同不能结婚');
}
}

let a = { gender: Gender.Male };
let b = { gender: Gender.Male };
console.log(merry(a, b));

function selectSort(a: number[]): number[]{
for(let i =0;i<a.length-1;i++){
let minIndex = i;
for(let j = i+1; j<a.length; j++){
if(a[j]<a[minIndex]){
minIndex = j
}
}
let temp = a[minIndex]
a[minIndex] = a[i]
a[i] = temp
}
return a
}

let b = selectSort([100,4,50,1,3])
console.log(b)

function add(a: string, b: string): string;
function add(a: number, b: number): number;
function add(a: any, b: any): any {
return a + b;
}

console.log(add('frank',1))

function min(a:number, b:number): number {
if (a < b) {
return a;
} else {
return b;
}
}

var c = min(1, 2);
console.log(c);