【前端基础知识】TS 类型、接口interface、泛型、Type

类型的定义

//简单类型
var num: number = 1;
var str: string = 'str';
var bool: boolean = true;
var every: any;//定义为任意类型

//复杂类型--数组
var arrStr: string[] = ['1', '2', '3'];
var arrNum: number[] = [1, 2, 3];
var arrBool: boolean[] = [true, false];
var arrEvery: any[];//定义为任意类型的数组

//联合类型
var data: string | number = 21;
var dataArr: (string | number)[] = [1, 2, '2'];

//函数类型 输入类型 输出类型
function f1(x: number, y: number): number {
    return x + y
}
f1(1, 2)

function f2(x: number, y: number): boolean {
    return x === y
}
f2(1, 2)

Interface

//Object类型 定义接口interface
interface Person {
    name: string;
    age: number;
    sex?: string;//可选属性
    [propName: string]: any;//任意属性
}
var obj: Person = {
    name: 'Dai',
    age: 12,
    sex: '男'
}

泛型

泛型约束

function f4<T>(x: T): number {
    return x.length
}
f4<string>('3')

在这里插入图片描述
如果不对泛型进行约束,就会进行报错

interface NumLength {
    length: number
}
function f4<T extends NumLength>(x: T): number {
    return x.length
}
f4<string>('3')

泛型接口

interface InspectFn {
    <T>(x: T, y: T): T[]
}
let fn6: InspectFn = function f(x, y) {
    return [x, y]
}
fn6<number>(10, 5)

Type

interface extends Type

type User = {
    name: string;
    sex?: string;//可选
    [propName: string]: any;
}
interface People extends User {
    age: number
}
let stu: People = {
    age: 12,
    name: '12',
    no: 213
}

类型交叉

type 与 type 交叉

type Name = { name: string }
type Age = { age: number }

type Student = Name & Age

let student: Student = {
    name: 'Dai',
    age: 12
}
//如果student 中 name 和 age 少一个就会报错

type 与 interface 交叉

type Name = { name: string }
interface Age { age: number }

type Student = Name & Age

let student: Student = {
    name: 'Dai',
    age: 12
}
//如果student 中 name 和 age 少一个就会报错
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
TSTypeScript)是一种静态类型检查的高级编程语言,它是JavaScript的超集。在TS中,基础类型泛型都是其重要的概念。 基础类型指的是TS中预定义的简单数据类型,例如:number、string、boolean、null、undefined等。基础类型用于表示变量或函数的数据类型,可以直接赋值给变量,也可以用作函数的参数和返回值类型。基础类型的定义和使用非常简单,只需要在变量或函数的类型声明中指定即可。 泛型(Generic)是一种在编程中广泛使用的概念,它允许我们在定义函数、类或接口时使用可变的类型。使用泛型可以提高代码的复用性和灵活性。在TS中,使用<>符号来声明使用泛型,并通过类型参数来指定具体的类型。 例如,定义一个泛型函数: function identity<T>(arg: T): T { return arg; } 这个函数使用了泛型类型参数T,可以接受不同类型的实参,并返回相同类型的值。通过使用泛型,我们可以传入任意类型的参数,而不需要重写多个函数。 另外,在TS中还可以使用泛型约束来限制泛型类型的操作。通过在泛型类型参数后面添加extends关键字和约束类型,可以确保传入的类型必须满足特定条件。 总结起来,TS中的基础类型泛型都是为了增强代码的可读性、可维护性和可靠性而设计的。基础类型用于定义简单的数据类型,而泛型则用于创建更灵活和可复用的函数、类和接口。在实际开发中,合理使用基础类型泛型,可以提高代码的质量和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Dai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值