当前位置: 首页 > article >正文

TS常见类型概述

基元类型

string、number、boolean

null和undefined

// 当用到null和undefined跟其他类型的联合类型时,多要进行一个非空的类型缩小方式
// 当开发者知道变量不会是null和undefined时,可以用'!'断言它非空
function fn(x) {
	return x!.toFixed
}

biginit、symbol

// biginit
let n:biginit = Biginit(100)
let n:bigint = 100n
// symbol
const str1:symbol = Symbol('abc')
const str2:symbol = Symbol('abc')

文字类型(常在联合类型中使用)

function fn(x:'left' | 'right') {}
function fn():0 | 1{}
function fn(x:Option | 'auto') {}

数组

// type[],type为任意合法类型
let arr:number[] = [1,2,3]
// Array<type>,type为任意合法类型
let arr: Array<number> = [1,2,3]

对象类型和接口

// obj为对象类型,其中可有可无的属性用问号。last为undefined和string的联合类型,使用时注意类型缩小
function fn(obj: {first: string, last?: string}) {}
// 定义对象的另外一种方式是接口;一般情况下接口都可以用类型别名的方式去定义
interface Point {
	x: number;
	y: number;
}

函数类型

// 参数和返回值都有类型注释
function fn(name: string):void {}

枚举(如果要用到一组命名常量之一)

TS独有,添加到JS运行时的内容

enum Direction {
	Up = 1,
	Down,
	Left,
	Right
}

联合类型

联合类型使用’|',注意在使用到这种类型的数据时,多数需要类型缩小

类型断言

类型断言有编译器删除,不会影响代码运行时行为
对值进行断言,在值后面加as type,或者在值的签名加<type>
类型断言只能指定更大的范围或者更小的范围,不能是交叉的情况eg: ‘abc’ as number

const dom = domcument.getElementById('main) as HTMLElement
const dom = <HTMLElement>domcument.getElementById('main)
const x = ('abc' as unknown) as number

类型别名(被反复用到的话)

type Point = {
	x: number;
	y: number;
}
type Id = number | string

http://www.kler.cn/a/145882.html

相关文章:

  • 前端 window.print() 打印图片
  • HTML语言的多线程编程
  • JDBC实验测试
  • HarmonyOS NEXT:华为分享-碰一碰开发分享
  • 数学基础 --线性代数之理解矩阵乘法
  • ConvBERT:通过基于跨度的动态卷积改进BERT
  • 1. 图的广度优先遍历
  • docker 常用容器创建(自用)
  • 操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理
  • 2023/11/26总结
  • 5 动态规划解分割等和子串
  • bootstrap 5 登录、注册页面
  • Java小游戏“简易版王者荣耀”
  • YOLOV7主干改进,使用fasternet轻量化改进主干(完整教程)
  • 人工智能|机器学习——循环神经网络的简洁实现
  • Docker 命令详解
  • hivesql 将json格式字符串转为数组
  • 飞翔的鸟小游戏
  • 医保线上购药系统:引领医疗新潮流
  • 【古诗生成AI实战】之四——模型包装器与模型的训练
  • 数字图像处理-Matlab实验
  • Doris单机部署——2.0.1.1版本
  • 单例模式-C++实现
  • 使用 Vue3 + Pinia + Ant Design Vue3 搭建后台管理系统
  • 有理数比较
  • 计算机图形学-变换基础