TypeScript

本文详细介绍了TypeScript的数据类型,包括基础类型、null、undefined、any、void、数组、元组、对象、枚举和never。此外,还深入探讨了函数的创建、参数约束、返回值类型以及泛型、接口、类型断言和映射类型等高级特性,为前端开发提供强大的静态类型支持。
摘要由CSDN通过智能技术生成

TypeScript

《数据类型》

一、创建变量

TS 中创建变量有四要素:

  1. 声明变量的方式:var、let、const
  2. 变量的名称
  3. 变量的类型
  4. 变量的初始值

语法结构:

let 变量名: 数据类型 = 初始值;

二、数据类型

TS 中的数据类型分为以下几类:

  1. 基础类型:数字、字符串、布尔值
  2. null、undefined
  3. any、void
  4. 数组、元组
  5. 对象
  6. 枚举
  7. never

1、基础类型

let a: number = 1;
let b: string = "hello";
let c: boolean = true;

2、null、undefined(了解)

let d: undefined = undefined;
let e: null = null;

3、any、void

any 表示任意类型,void 表示没有任何类型。

let f: any = 1;
let g: void;

说明:

  1. 不建议频繁的使用 any;
  2. void 通常会用来设置当函数没有返回值时,返回值的类型;

4、数组、元组

TS 中要求数组中的元素必须是同一个类型。

let h: number[] = [1, 2, 3]
let i: string[] = ["1", "2", "3"]
let j: Array<number> = [1, 2, 3];

但是,TS 中还提供了一个元组的类型(了解),可以在数组中保存不同类型的数据:

let k: [number, string] = [1, "2"]

5、对象

在 TS 中,除了数字、字符串、布尔值、null 和 undefined 以外,其他类型都可以看作是对象:

let k: [number, string] = [1, "2"]

但是,在 {} 这种类型中,更推荐使用以下方式来约束数据类型:

let l: object = [];
let m: object = {
   };
let n: object = function() {
   }
可选属性

我们可以在对象属性的后面添加 ? 来设置可选属性:

let o: {
    name: string, age: number, gender?: string } = {
    name: '张三', age: 20, gender: '男' }

6、枚举

我们在前端开发中,经常会用数字来表示一些状态。例如:

  1. 在设置性别时,用 0 表示女性,1 表示男性,2 表示未知;
  2. 在筛选待办事项的状态时,0 表示全部,1 表示已完成,2 表示未完成;

之所以选择用数字表示,是因为我们在进行判断时数字会很方便。但是数字并不能直观的表示出当前业务中对应的含义,我们在阅读代码的时候,就不能很直接的看明白每一个数字对应的状态。

这种情况下,就可以使用 TS 中的枚举类型来描述每个数字的含义

enum Gender {
   
    female = 0,
    male = 1,
    unknown = 2
}
const student: {
    name: string, gender: number } = {
    name: '张三', gender: Gender.male }
const person: {
    name: string, gender: Gender } = {
    name: '张三', gender: Gender.male }

枚举类型中,也可以不设置数字,默认会从 0 开始依次叠加。

enum Gender {
   
    female,
    male,
    unknown
}
const student: {
    name: string, gender: number } = {
    name: '张三', gender: Gender.male }
const person: {
    name: string, gender: Gender } = {
    name: '张三', gender: Gender.male }

7、never

never 用来表示永不存在的值。通常用来设置报错的类型:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值