前端 | 青训营笔记

68 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的的第9天,今天是关于《TypeScript》的学习

TypeScript是什么?

以Javascript为基础构建的语言

一个Javasript的超集

可以在任何支持Javascript的平台中执行

TYpeScript扩展了JavaScript并添加了类型

TypeScript不能被JS解析器直接执行,需要编译

TypeSCript增加了什么?

  • 类型
  • 支持ES的新特性
  • 添加ES不具备的新特性
  • 丰富的配置选项
  • 强大的开发工具

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

小结

剩下的听的一知半解,在去查阅查阅资料争取弄明白。