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

b2b b2c 平台网站建设方案淘宝关键词指数

b2b b2c 平台网站建设方案,淘宝关键词指数,php网站建设外国参考文献,教育网站设制下载文章目录一、typescript 的数据类型有哪些二、TypeScript 中枚举类型的理解三、TypeScript 中接口的理解四, TypeScript 中类的理解五,TypeScript 中泛型的理解?六,TypeScript 中高级类型的理解?六,TypeScr…

文章目录

  • 一、typescript 的数据类型有哪些
  • 二、TypeScript 中枚举类型的理解
  • 三、TypeScript 中接口的理解
  • 四, TypeScript 中类的理解
  • 五,TypeScript 中泛型的理解?
  • 六,TypeScript 中高级类型的理解?
  • 六,TypeScript 中type与interface区别

一、typescript 的数据类型有哪些

基本类型:number、string、boolean、null、undefined、symbol、bigint
数组类型:number[]、string[]、boolean[]、Array、Array、Array
元组类型:[number, string, boolean]
枚举类型:enum Color {Red, Green, Blue}
Any类型:any
Void类型:void
Object类型:object、Object
Never类型:never

二、TypeScript 中枚举类型的理解

枚举类型是 TypeScript 中的一种数据类型,它允许我们定义一些具名的常量集合。使用枚举类型可以更加直观地表达代码含义,提高代码可读性和可维护性。
在 TypeScript 中,枚举类型通过enum关键字进行定义。例如:

enum Direction {Up,Down,Left,Right
}

在这个例子中,我们定义了一个名为 Direction 的枚举类型,其中包含了四个常量成员:Up、Down、Left 和 Right。默认情况下,枚举成员的值会从0开始自动编号,也可以手动指定值

三、TypeScript 中接口的理解

在 TypeScript 中,接口(Interface)是一种抽象的定义,用来描述对象的形状。它定义了一个对象应该具有的属性和方法

接口的应用场景很广泛,例如在定义函数参数时,可以使用接口来规范参数的类型和结构;在定义时,可以使用接口来规范类的结构;在定义复杂的对象类型时,可以使用接口来提高代码的可读性和可维护性。

// 先定义一个接口
interface IUser {name: string;age: number;
}
const getUserInfo = (user: IUser): string => {return `name: ${user.name}, age: ${user.age}`;
};
// 正确的调用
getUserInfo({name: "koala", age: 18});

四, TypeScript 中类的理解

在 TypeScript 中,类是一种定义对象属性和方法的结构化方式,使用 class 关键字来定义。

类可以包含属性和方法,通过实例化类可以创建对象,对象可以访问类中定义的属性和方法。

与 JavaScript 不同的是,TypeScript 中的类可以使用访问修饰符来控制属性和方法的访问级别,如 public(默认值,可以自由的访问类程序里定义的成员)private(只能够在该类的内部进行访问)protected(除了在该类的内部可以访问,还可以在子类中仍然可以访问)

类也可以继承其他类,使用 extends 关键字来实现继承,从而可以复用已有的类定义。

类还可以实现接口,这种方式称为类实现接口,使用 implements 关键字来实现接口。

总的来说,类是面向对象编程的基本组成部分,可以通过类来创建具有一定属性和行为的对象,并且 TypeScript 中的类支持访问修饰符和继承等面向对象编程的概念,使得代码更加规范和易于维护。

五,TypeScript 中泛型的理解?

在 TypeScript 中,泛型可以让我们在定义函数、类、接口时不预先定义具体的类型,而是在使用时再指定类型。这使得代码更加灵活且可复用性更高。

以下是一些泛型的基本概念:

  1. 泛型函数:使用泛型来定义函数的参数和返回值类型。
function identity<T>(arg: T): T {return arg;
}

定义泛型的时候,可以一次定义多个类型参数,比如我们可以同时定义泛型 T 和 泛型 U:

  1. 泛型接口:使用泛型来定义接口的属性或方法。
interface Array<T> {length: number;push(...items: T[]): void;forEach(callbackfn: (value: T, index: number, array: T[]) => void): void;
}
  1. 泛型类:使用泛型来定义类的属性和方法的类型。
class GenericNumber<T> {zeroValue: T;add: (x: T, y: T) => T;
}
let myGenericNumber = new GenericNumber<number>();
myGenericNumber.zeroValue = 0;
myGenericNumber.add = function(x, y) { return x + y; };

六,TypeScript 中高级类型的理解?

  1. 交叉类型
    使用&符号表示,可以将多个类型合并成一个类型。

  2. 联合类型
    使用|符号表示,可以表示一个值属于多种类型之一。

  3. 类型别名
    使用 type 关键字定义一个类型别名,方便在其他地方引用该类型。

  4. 类型索引
    keyof 类似于 Object.keys ,用于获取一个接口中 Key 的联合类型。

	interface Button {type: stringtext: string}type ButtonKeys = keyof Button// 等效于type ButtonKeys = "type" | "text"
  1. 类型约束
  2. 映射类型
    通过 in 关键字做类型的映射,遍历已有接口的key或者是遍历联合类型
type Readonly<T> = {readonly [P in keyof T]: T[P];
};interface Obj {a: stringb: string
}type ReadOnlyObj = Readonly<Obj>

上述的结构,可以分成这些步骤:

  • keyof T:通过类型索引 keyof 的得到联合类型 ‘a’ | ‘b’
  • P in keyof T 等同于 p in ‘a’ | ‘b’,相当于执行了一次 forEach 的逻辑,遍历 ‘a’ | ‘b’

所以最终ReadOnlyObj的接口为下述:

interface ReadOnlyObj {readonly a: string;readonly b: string;
}
  • 条件类型
    使用extends关键字和三目运算符 ?:,可以根据类型关系推断出另一个类型。

六,TypeScript 中type与interface区别

  • type 可以定义基本类型、联合类型、元组和其他自定义类型,而 interface 只能定义对象类型。
  • interface 支持继承,而 type 不支持。
  • 当定义类型别名时,type 可以使用联合类型、交叉类型和条件类型等高级类型,而 interface 不支持。
  • type 是对类型的重新定义,而 interface 是对类型的声明。在某些情况下,type
    可以使用更通用的语法,使得类型定义更加简洁易懂
  • 在定义类型时,interface 可以使用 extends、implements 和 keyof 等关键字来增强类型的功能。
http://www.bjxfkj.com.cn/article/105999.html

相关文章:

  • 如何做自己的项目网站深圳百度推广客服电话多少
  • 开个做网站公司在线seo优化工具
  • 自建站系统bt磁力猪
  • 网站改版要注意什么培训机构专业
  • 定制网站建设全网营销是什么
  • 凡科互动官网登录郑州网站优化
  • 一般通过会社员全专业优化公司
  • 免费域名网站创建怎样无货源开网店
  • 有网站如何做app最新热搜新闻
  • 电子商务网站建设与管理项目计划书广州网站优化软件
  • 如何做网站推广方法制作网站的软件叫什么
  • 顺德网站百度快照是怎么做上去的
  • 非洲购物网站排名网络营销概念
  • 中山做网站公司网络怎么做推广
  • 怎么做.com的网站东莞营销外包公司
  • wordpress 免费主题推荐最彻底的手机优化软件
  • 外贸建站模板免费seo是什么单位
  • 做内贸的网站口碑营销经典案例
  • 便宜网站建设 优帮云百度在线客服中心
  • 做脚本网站下载百度官方版
  • 一个公司只能备案一个网站吗app注册推广团队
  • DW做旅游网站毕业设计模板网络广告图片
  • 企业网站模板 下载 免费网络营销10大平台
  • 查询公司营业执照的网站创建网站花钱吗
  • 网站做一半能退吗seo搜索引擎优化软件
  • 沧州网站建设制作crm系统
  • 淮北做网站的公司大概需要多少钱
  • 做网站样式模板百度seo搜索营销新视角
  • 珠海动态网站制作外包重庆seo建站
  • 做直播网站vps可以吗宁波网站建设方案推广