TypeScript | 青训营笔记

91 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

TypeScrjipt发展的历史

image.png

前端的主流框架都支持Typescript

选择TypeScript的原因

Javascript是动态类型的语言 也就是解释型语言(只有在执行的时候才会去做类型的检验或者匹配)

TypeScript静态类型的语言需要提前编译(也就是编译型语言,需要先走一次编译)

Typescript其实就是JS的超集。

使用TypeScript的好处

  1. 可读性增加:基于语法TSDoc,ide增强
  2. 可维护性增强:在编译阶段暴露大部分的错误,而JS不会

JavaScript类型

JavaScript 数据类型 值类型:string number boolean null undefined symbol 对象类型:object array function 还有两个特殊的:regexp date

TypeScript类型声明

类型声明不仅仅用于变量身上,在函数的参数以及返回值上也能进行使用。

1.png

2.png

TypeScript类型

image.png


let b:'male'|"female";
b = 'male'
b = "female"

let c:string| number;
c = '11'
c = 11

//any表示的是任意类型,一个变量设置类型是any相当于对该变量关闭了ts的类型检测。
let d:any; // let d; 隐式any
d = 10;
d = "hello"
d = true

let e:unknown; //未知 实际上就是类型安全的any 

let s:string;
s = d; //d的类型是any,它可以赋值给任意变量不会报错

//但是unknown不能赋值给string 会提示 
// Type 'unknown' is not assignable to type 'string'

类型断言

可以用来告诉解析器变量的实际类型

s = e as string; s = e;

类型保护与类型守卫

image.png

高级类型

image.png