java开发需要掌握的TypeScript相关的知识点,细致简洁版。

Typescript:

介绍:

TypeScript(简称 TS)是JavaScript的超集(继承了JS全部语法),TypeScript = Type + JavaScript。

  • 简单说,就是在JS的基础上,为JS添加了类型支持。
  • 是微软开发的开源编程语言,可以在任何运行JavaScript的地方运行。

类型注解:

类型注解:是指在变量、函数等定义的时候,使用特定语法(: type)来指定其类型,并在代码中限制只能接收特定类型的值。

TypeScript快速入门:
准备:

安装TS官方提供的编译器:npm install -g typescript (管理员身份运行,只需要做一次即可)

编码:

  • 定义ts文件,定义变量,指定类型注解
  • 编译ts文件,测试程序运行
TypeScript类型注解分类:
基础类型:
  • 数字类型:number
  • 字符类型:string
  • 布尔类型:boolean
  • null/undefined:null/undefined
  • 任意类型:any(不推荐)
  • 原则上,不推荐使用any!!! 这会让TypeScript又回到JavaScript(失去TS类型保护的优势)。
  • 数组类型:number[]/string[]/Array<number>/Array<string>

联合类型:

介绍:

是指由两个或多个其他类型组成的类型,表示可以是其中的任意一种。

写法:

写法:类型1 | 类型2

提示:

TS中的联合类型中指定的多种类型之间使用 | 分隔,建议使用()括起来

类型别名:

类型别名:相当于一种自定义类型,为任意类型起别名。

使用场景:当同一类型(复杂)别多次使用时,可以通过类型别名,简化该类型(复杂)的书写。

定义语法:type customType = 指定类型

提示:类型别名type,是可以为任意类型指定别名的。

函数类型:

介绍:

函数类型实际上指的是:函数的参数及返回值的类型

语法一:单独指定参数,返回值类型:

对象类型&接口interface:

对象类型:

TS中的对象类型就是来描述对应的结构的(有什么类型的属性和方法)。

定义接口:

介绍:

当一个对象类型被多次使用时,我们可以使用 接口(interface)来描述对象的类型,达到 复用 的目的。

说明:

接口使用 interface 关键字来声明,接口名称可以是任意合法的变量名称。

接口中定义的属性或方法,结尾可以使用逗号(,)/分号(;)分隔;如果每一行只有一个属性,后面也可以不写分号(;)。

类型推论:

介绍:

在TS中,在有些没有明确指出类型的地方,类型推论会帮助提供类型。

换句话说:由于类型推论的存在,某些地方,类型注解是可以省略不写的。

常见场景:

声明变量并初始化

决定函数返回值时

提示:

如果不知道类型,可以通过鼠标放在变量名称/方法名称上,利用VSCode的提示来查询类型。

相关推荐
人工智能训练1 天前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪1 天前
若依Vue 项目多子路径配置
前端·javascript·vue.js
兩尛1 天前
c++知识点2
开发语言·c++
fengfuyao9851 天前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck1 天前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
xiaoqi9221 天前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233221 天前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
Hx_Ma161 天前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode1 天前
原子操作类LongAdder
java·开发语言
烬头88211 天前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos