TypeScrip 의 일반적인 사례 상세 설명
6240 단어 TypeScript범 형
// : , ,
// ,
/*
function getData(value: any): any {
return "success"
}
*/
//
// T ( , T)
function getData<T>(value: T):T{
return value;
}
//
var get = getData<string>("hello")
console.log(get)
//
var getTwo = getData<number>(666)
console.log(getTwo)
// : , ,
//
class minCla<T> {
list: T[] = [];
add(value: T):void {
this.list.push(value);
}
min(): T {
var minNum = this.list[0];
for(var i=0; i<this.list.length; i++) {
if (minNum > this.list[i]) {
minNum = this.list[i]
}
}
return minNum
}
}
var minNum = new minCla<number>();
minNum.add(2);
minNum.add(1);
minNum.add(7);
console.log(minNum.min()); // 1
// ascii
var minNumTwo = new minCla<string>();
minNumTwo.add("c");
minNumTwo.add("z");
minNumTwo.add("a");
console.log(minNumTwo.min()) // a
범용 인터페이스
//
// :
//
interface Func {
<T>(value: T): T
}
//
var f: Func = function<T>(value: T) {
return value;
}
f<string>("hello")
f<number>(666)
// :
interface FuncONe {
<T>(value: T): T
}
var f1: FuncONe = function<T>(value: T):T {
return value;
}
f1<string>("world")
f1<number>(666)
범 형 류 를 실현 하 다
/*
1、 User ,
2、 MysqlDb
3、 User MysqlDb
*/
/* :
class User {
usernam: string | undefined;
password: string | undefined;
}
class MysqlDb {
add(user: User): boolean {
console.log(user);
return true;
}
}
var u1 = new User();
u1.usernam = "pika";
u1.password = "pika"
var msql = new MysqlDb();
msql.add(u1);
*/
//
//
//
class MysqlDb <T>{
add(info: T): boolean {
console.log(info);
return true;
}
}
// user
class User {
usernam: string | undefined;
password: string | undefined;
}
var u1 = new User();
u1.usernam = "pika";
u1.password = "pika"
// ( )
var msql = new MysqlDb<User>();
msql.add(u1); // User
종합 사례
:
: Mysql MongoDb
1: Mysql MongoDb , add update delete get
: 、
: ,
1、 : , ,
2、 : :
*/
// :
// ,
interface DbMethod<T> {
add(info: T): boolean;
update(info: T, id: number): boolean;
delete(id: number): boolean;
get(id: number): boolean;
}
// Mysql , :
class MysqlDbs<T> implements DbMethod<T> {
add(info: T): boolean {
console.log(info);
return true;
}
update(info: T, id: number): boolean {
var obj = {
username: "xxxx",
password: "666"
}
return true
}
delete(id: number): boolean {
console.log("delete success");
return true
}
get(id: number): boolean {
var arr = [
{username: "xxx",
password: "xxxxx"
}
];
return true
}
}
// :
class Users {
username: string | undefined;
password: string | undefined;
};
// Users
var mysql = new MysqlDbs<Users>();
var u = new Users();
u.username = "xxxx"
u.password = "xxxxxx"
//
mysql.add(u);
mysql.get(1);
mysql.update(u, 1);
mysql.delete(1)
// MongoDb , :
class MongoDb<T> implements DbMethod<T> {
add(info: T): boolean {
console.log(info);
return true;
}
update(info: T, id: number): boolean {
var obj = {
username: "xxxx",
password: "666"
}
return true
}
delete(id: number): boolean {
console.log("delete success");
return true
}
get(id: number): boolean {
var arr = [
{username: "xxx",
password: "xxxxx"
}
];
return true
}
}
// :
class Userd {
username: string | undefined;
password: string | undefined;
};
// Users
var mysql = new MongoDb<Userd>();
var u = new Userd();
u.username = "xxxx"
u.password = "xxxxxx"
//
mysql.add(u);
mysql.get(1);
mysql.update(u, 1);
mysql.delete(1)
이 TypeScrip 의 일반적인 사례 에 대한 상세 한 설명 은 여기까지 입 니 다.더 많은 TypeScrip 의 일반적인 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Cypress에서 Stripe Elements의 자동 테스트 수행을 사용하여 E2E 테스트를 작성할 때 약간의 고려가 필요했기 때문에 비망으로 남겨 둡니다 ✍️ 을 사용하여 이런 코드에서 카드 번호 입력 요소를 만들었습니다. 본래라면, 카드 정보의 입력이 다른 도메인(Stripe...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.