`

TypeScript语法基础 - 泛型

 
阅读更多

   1. 泛型函数

function getData(value:T):T{
	return value;
}

//调用时输入类型
console.log(getData(123)); //123
console.log(getData('gogogo')); //gogogo

 

   2. 泛型类

class MinClass{
	public list:T[]=[];

	add(value:T):void{
		this.list.push(value);

	}

	min():T{
		var minNum=this.list[0];
		for(var i=0;i<list.length; i++){
			if(minNum > this.list[i]){
				minNum=this.list[i];
			}
		}

		return minNum;
	}
}

var m1=new MinClass(); /*实例化类,并且制定了类的类型是number*/
m1.add(2);
m1.add(7);
m1.add(444);
console.log(m1.min()); //输出最小是2
var m2=new MinClass(); /*实例化类,并且制定了类的类型是string*/
m2.add('a');
m2.add('g');
m2.add('v');
console.log(m2.min()); //输出最小是'a'

 

   3. 泛型函数接口

a. 第一种写法

interface ConfigFn {
	(value:T):T;
}

var getData:ConfigFn=function(value:T):T{
	return value;
}
console.log(getData('张三'));// 张三
console.log(getData(1111)); //1111

 

b. 第二种写法

interface ConfigFn{
	(value:T):T;
}

function getData(value:T):T{
	return value;
}

//选择string类型
var myGetData:ConfigFn=getData;
//调用
console.log(myGetData('20'));//'20'

 

    4. 泛型类实例Db类

/*
* 定义一个user的类的这个类的作用就是映射数据库字段
* 然后定义一个MysqlDb的类这个类用于操作数据库
* 然后把User类作为参数传入到MysqlDb中
* */
//把类作为参数来约束数据传入类型
class User{
	username:string |undefined;
	password: string| undefined;
}

class MysqlDb{
	add(user:User):boolean{
		console.log(user);
		return true;
	}
}

var u=new User();
u.username='张三';
u.password='12233';
var Db=new MysqlDb();
Db.add(u);

 

   5. 操作数据库的泛型类

class MysqlDb{
	//增添操作
	add(info:T):boolean{
		console.log(info);
		return true;
	}

	//更新操作
	updated(info:T,id:number):boolean{
		console.log(info);
		console.log(id);
		return true;
	}

}

//1.定义一个User类 和数据库进行映射
class User{
	username:string | undefined;
	password: string | undefined;
}

var u=new User();
u.username='钩子';
u.password='1111';
var Db1=new MysqlDb();
console.log(Db1.add(u));

 

分享到:
评论

相关推荐

    vue-typescript-admin-template-master_vue_

    而TypeScript是JavaScript的一个超集,它提供了静态类型检查和现代化的语法,为大型项目带来了更好的可维护性和开发效率。当这两者结合时,我们可以构建出稳定且高效的后台管理系统模板。本文将深入探讨"vue-...

    Typescript-API-Learning-源码.rar

    1. **基础语法**:了解TypeScript的基本语法,如变量声明(let/const)、类型注解(number, string, boolean等)、函数定义以及对象和数组的声明。 2. **类与接口**:TypeScript中的类和接口是面向对象编程的关键。...

    typescript-node-starter:更简单的Typescript节点启动器

    TypeScript还支持ES6+的语法,如模块、箭头函数和解构赋值,这些都是现代JavaScript开发的基石。 `typescript-node-starter`这个项目,正如其名,是一个基础的启动模板,包含了运行TypeScript Node.js应用所需的...

    TypeScript学习文档-基础篇(完结).doc

    TypeScript 学习文档 - 基础篇(完结) TypeScript 是一种静态类型的、编译时执行的语言,作为 JavaScript 的超集,增加了类型系统和其他一些功能。下面是 TypeScript 学习文档的基础篇,涵盖了 TypeScript 的基本...

    TypeScript学习案例-贪吃蛇

    【TypeScript学习案例-贪吃蛇】:...通过这个案例,开发者不仅能学习到如何使用TypeScript编写游戏,还能加深对TypeScript语法和高级特性的理解,这对于想要在前端开发领域深化技能的程序员来说是一次宝贵的学习机会。

    藏经阁-现代TypeScript高级教程-103.pdf

    TypeScript 是一种由微软开发的静态类型编程语言,它在 JavaScript 的基础上增加了类型系统和其他高级特性,旨在提高代码质量和可维护性。随着其在现代Web开发中的广泛应用,深入学习 TypeScript 的高级特性变得...

    react-typescript-yarn-lerna-monorepo-eslint-prettier-boilerplate

    **TypeScript**: TypeScript是JavaScript的超集,添加了静态类型系统和一些高级特性,如接口、泛型、枚举等。使用TypeScript可以提升代码的可读性和可维护性,减少运行时错误,并为大型项目提供更好的工具支持。 **...

    week-1-typescript-assignment-brandonbeau:GitHub Classroom创建的week-1-typescript-assignment-brandonbeau

    **TypeScript基础知识** TypeScript是JavaScript的一个超集,由微软开发并维护,它引入了静态类型系统和一些现代化的编程特性,旨在提升大型项目代码的质量和可维护性。这个"week-1-typescript-assignment-...

    typescript开发react-native的简单示例代码

    这将会生成一个预配置好的项目,其中包含TypeScript的配置和基础文件结构。在项目根目录中,你会发现`tsconfig.json`文件,它是TypeScript编译器的配置文件。你可以根据项目需求对其进行调整。 接下来,我们来看看`...

    week-1-typescript-assignment-jsmartin15:GitHub Classroom创建的week-1-typescript-assignment-jsmartin15

    **TypeScript基础知识** TypeScript是JavaScript的一个超集,由微软开发并维护,它引入了静态类型系统和一些现代化的编程特性,旨在提升大型项目代码的质量、可维护性和开发者效率。在"week-1-typescript-...

    PA_typescript-lab-4

    通过 PA_typescript-lab-4 实验,你不仅能够熟悉 TypeScript 的语法和特性,还能提升实际项目中的应用能力。实践是最好的老师,通过解决实验室提供的挑战,你将更加熟练地掌握 TypeScript 这门强大的语言。

    TypeScript语法手册

    ### TypeScript语法手册知识点详解 #### 一、简介 TypeScript是一种开源的编程语言,由微软开发和维护。它被设计成JavaScript的一个超集,并添加了静态类型检查功能,旨在提高大型应用的开发效率和可维护性。本...

    creact-typescript-react-cli

    然而,"creact-typescript-react-cli" 与CRA不同之处在于,它专门为使用TypeScript而设计,TypeScript是JavaScript的一个超集,提供了静态类型检查、现代化的语法特性以及对ES6模块的支持,从而提高了代码质量和可...

    typescript-for-javascript-developers

    **一、TypeScript基础知识** TypeScript是JavaScript的一个扩展,由Microsoft开发并维护。它引入了类型系统,允许在编译时进行错误检测,减少了运行时错误。此外,TypeScript支持ES6及以后的特性,如箭头函数、...

    TypeScript+基础语法+架构+案例等全套教程

    TypeScript基础语法.pdf TypeScript进阶:接口与类型.pdf TypeScript与面向对象编程.pdf TypeScript中的泛型.pdf TypeScript与Node.js.pdf TypeScript与前端框架React.pdf TypeScript与前端框架Angular.pdf ...

    typescript-test-2

    7. **高级语法**:例如,解构赋值、默认参数、剩余和扩展运算符等,这些都是ES6及更高版本的特性,TypeScript也予以支持。 在"typescript-test-2-main"这个文件名中,"main"通常表示这是项目的主入口点,可能包含...

    Understanding-Typescript-2021-U:Typescprit Udemy课程

    通过该课程的学习,你将不仅能够熟练掌握 TypeScript 的语法和特性,还能了解到如何在大型项目中使用 TypeScript 来提升开发效率和代码质量。同时,Udemy 平台的互动式学习方式将使你更轻松地理解和吸收这些概念。...

    typescript-react-tutorial

    1. **TypeScript基础知识**:学习如何声明变量的类型,理解基本类型(如string、number、boolean、any、void等),以及数组和对象类型的定义。 2. **接口(Interfaces)**:在React组件中,接口可以用来定义组件的...

    typescript-udemy-practice:Udemy TypeScript练习

    在Udemy平台上,TypeScript课程通常会涵盖从基础到进阶的各种主题,而这个项目就是这些课程理论知识的实战应用。通过参与这个项目,你可以巩固和提升你的TypeScript编程技能。 TypeScript是由微软开发的一种开放源...

Global site tag (gtag.js) - Google Analytics