112. 基础

可以直接在.ts的文件里写javascipt。

运行ts有三种方法

  1. webpack + babel(用babel把ts变成js文件)

  2. Vite 2

    yarn create vite
    yarn create vite my-react-app --template react 

    会让选择用js还是ts,选择ts

    cd my-react-app
    yarn
    yarn dev
  3. tsc

    tsc x.ts

使用tsc会比较麻烦,每次都需要把ts文件变成js文件,再用node执行,因此第一和第二种方法更通用。

tsxts的区别

tsx = ts + jsx

ts = ts

webpack + ts = ts + jsx

类型 vs 类

就是在变量后面加个冒号:,然后加一个type

有两个bug需要注意下

typeof Object返回的是function

typeof null返回是object

JS中的类

面向对象编程有两种,

  1. 基于class关键字

    可以看这篇文章

  2. 基于原型

类型的两个好处

  1. 减少bug

在运行之前就可以发现错误。

  1. 可以做更牛逼的提示

TS的类型

TS的函数怎么写

  1. 类型写在函数体

  2. :后面

  3. type缩写

  4. 有属性,只能用interface

    TS中的any, unknown, void, never, enum, tuple

    any

    unknown

    通常使用在从外部获取到的数据,但是用之前需要明确

    void

    void用于函数return,表示空

    never

    never就是不应该出现的类型

tuple

元组是不可变更长度的数组

enum

枚举, 不常用

如何给不同数据加type

范型就是给一个类型传一个参数

Function不是范型

class是值还是类型?全都是

联合类型(|)和交叉类型(&)

联合类型

联合类型还可以收窄数据范围

交叉类型

因此交叉类型不能是简单的将那八种类型组合

&一般是用来连接两个复杂类型

但是下面的例子会出现never,因为age出现了两种数据类型

怎么声明div的类型

最后更新于

这有帮助吗?