【02】基础知识:typescript数据类型

1、布尔类型 boolean

javascript 复制代码
let flag: boolean = false

2、数字类型 number

javascript 复制代码
let num: number = 6 //十进制
let num2: number = 0xf00d //十六进制
let num3: number = 0b1010 //二进制
let num4: number = 0o744 //八进制

3、字符串类型 string

用双引号(")或单引号(')来表示字符串类型。

模版字符串:可以定义多行文本和内嵌表达式,使用反引号(`)包围,并且以${ expr }这种形式嵌入表达式。

javascript 复制代码
let name: string = 'Tom'
let years: number = 5
let str: string = `Hello, my name is ${name}, I'm ${years + 1} years old.`

4、数组类型 array

ts定义数组分为两种方式,一种是在元素类型后面接 \[\],表示由此类型元素组成的数组;

另一种是使用数组泛型,Array<元素类型>。

javascript 复制代码
let arr: number[] = [1, 2, 3] // 在元素类型后面加上[]
let arr2: Array<string> = ['1', '2'] //使用数组泛型
let arr3: any[] = [1, "Tom"]

5、元组类型 tuple

元组属于数组的一种,元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。

javascript 复制代码
let x: [string, number]
x = ['hello', 6] //运行正常
x = [6, 'hello'] //报错
console.log(x[0]) //输出hello

6、枚举类型 enum

枚举类型用于定义数值集合。(定义更多的其他非数值类型的数据)

定义:

enum 枚举名称 {

 标识符=整型常数

 ...

}

javascript 复制代码
enum Color { Red, Green, Blue }
let c: Color = Color.Red
console.log(c)  // 输出 0,如果枚举类型没有赋值,那么输出的就是下标

enum Color { Red = 1, Green, Blue }
let colorName: string = Color[2] 
// 如果前一个赋值,后面没有赋值,那么后面会根据前面赋值,往后+1
console.log(colorName)  // 显示'Green'因为上面代码里它的值是2

7、任意类型 any

javascript 复制代码
let num:any = 1
num = false // 修改值类型,不会报错

let box = document.getElementById('box')  // 可以运行代码,但是会报错
let box: any = document.getElementById('box')  // 可以运行代码,也不会报错
box.style.color = 'red'

8、void 类型

void 类型表示没有任何类型。一般用户定义方法时方法没有返回值。

javascript 复制代码
function run(): void {
	console.log('方法没有返回任何类型')
}

function run(): number {
	return 1 // 方法返回类型为 number
}

9、null 和 undefined

null 和 undefined 两者各自有自己的类型分别叫做 null 和 undefined。

javascript 复制代码
let u: undefined = undefined
let n: null = null

默认情况下 null 和 undefined 是所有类型的子类型。 就是说你可以把 null 和 undefined 赋值给 number 类型的变量。

然而,当你指定了 --strictNullChecks 标记,null 和 undefined 只能赋值给 void 和它们各自。 这能避免很多常见的问题。 也许在某处你想传入一个 string 或 null 或 undefined,你可以使用联合类型 string | null | undefined。

javascript 复制代码
let num: number // 输出 undefined,会报错
let num: undefined // 输出 undefined,不会报错

// 一个变量可能是 number类型,可能是 undefined 类型
let num: number | undefined // 定义未赋值,输出 undefined,不会报错
num = 3 // 输出3,不会报错

console.log(num) 

10、never类型

never 类型表示从不会出现的值, never 类型是任何类型的子类型。

声明为 never 的变量只能被 never 类型所赋值。

javascript 复制代码
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
	throw new Error(message)
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
	while (true) {
	}
}
相关推荐
Csvn8 小时前
OpenSpec 详细使用教程
前端
之歆8 小时前
Day19_LESS 完全指南——从入门到工程实践
前端·css·less
云水一下9 小时前
HTML5 从入门到精通:实战收官——从零搭建完整静态网站,综合运用所有知识
前端·html5
不总是9 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
冬奇Lab9 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
zhangyao94033010 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong11 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
kjs--11 小时前
浏览器书签执行脚本
前端
烛衔溟11 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆11 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化