![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TypeScript
Lvdon9
这个作者很懒,什么都没留下…
展开
-
9.ts 类型别名, 字面量, 交叉类型
//类型别名let sum:(x:number,y:number)=>number const result = sum(1,2)//类型别名 关键字 typetype PlusType = (x:number,y:number)=>number let sum2 : PlusTypeconst result2 = sum2(2,3)//联合类型type StrOrNumber = string | numberlet result3 : StrOrNumberresu.原创 2021-06-04 16:29:43 · 247 阅读 · 0 评论 -
8.ts 泛型的使用2
//没有定义类型,程序不会报错class Quer{ private data=[]; push(item){ return this.data.push(item); } pop():T{ return this.data.shift(); }}const queue = new Query()queue.push(1)queue.push('str')console.log(queue.pop().toFixed())//str为字符串, 不具备t.原创 2021-06-04 16:12:19 · 299 阅读 · 0 评论 -
7.ts泛型
function echo<T>(arg:T):T{ return arg}//使用<T>泛型 result类型会直接显示值, 如number 或 stringconst result = echo(123)//以下同理function swap<T,U>(tuple:[T,U]):[T,U]{ return [tuple[0],tuple[1]]}const result2 = swap(['string',123]);//约束泛.原创 2021-06-04 11:08:51 · 85 阅读 · 0 评论 -
6.ts 抽象类
//定义一个接口interface Radio { switchRadio(trigger: boolean): void;}//继承这个接口 可以重写属性和方法class Car implements Radio { switchRadio(trigger) { return 123 }}//继承第二个方法class Cellphone implements Radio { switchRadio() { }}//只读,不能修改interface Ba.原创 2021-06-03 17:14:49 · 588 阅读 · 0 评论 -
5.ts Class 类 封装继承多态
面向对象编程的三大特点封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。外界调用端不需要(也不可能)知道细节,就能通过对外提供的接口来访问该对象, 继承(Inheritance):子类继承父类,子类除了拥有父类的所有特性外,还有一些更具体的特性。 多态(Polymorphism):由继承而产生了相关的不同的类,对同一个方法可以有不同的响应。class Animal { name: string; constructor(name: string) {原创 2021-06-02 18:37:33 · 864 阅读 · 0 评论 -
4.ts函数
// 来到我们的第一个例子,约定输入,约定输出function add(x: number, y: number): number { return x + y}// 可选参数function add(x: number, y: number, z?: number): number { if (typeof z === 'number') { return x + y + z } else { return x + y }}// 函数本身的类型const .原创 2021-06-02 18:32:00 · 89 阅读 · 0 评论 -
3.TS interface 接口
// 我们定义了一个接口 Personinterface Person { name: string; age: number;}// 接着定义了一个变量 viking,它的类型是 Person。这样,我们就约束了 viking 的形状必须和接口 Person 一致。let viking: Person ={ name: 'viking', age: 20}//有时我们希望不要完全匹配一个形状,那么可以用可选属性:interface Person { name: s.原创 2021-06-02 18:29:30 · 76 阅读 · 0 评论 -
2.ts 数组Array 和 Tuple
/最简单的方法是使用「类型 + 方括号」来表示数组:let arrOfNumbers: number[] = [1, 2, 3, 4]//数组的项中不允许出现其他的类型://数组的一些方法的参数也会根据数组在定义时约定的类型进行限制:arrOfNumbers.push(3)arrOfNumbers.push('abc')// 元祖的表示和数组非常类似,只不过它将类型写在了里面 这就对每一项起到了限定的作用//此为元祖类型let user: [string, number] = ['vik.原创 2021-06-02 18:27:43 · 1384 阅读 · 0 评论 -
1.ts原始数据类型
1.安装npm install -g typescript2.查看是否安装成功// 查看 tsc 版本tsc -v// 编译 ts 文件tsc fileName.ts3.Javascript 类型分类:原始数据类型 - primitive values:Boolean Null Undefined Number BigInt String Symbollet isDone: boolean = false// 接下来来到 number,注意 es6原创 2021-06-02 18:24:39 · 172 阅读 · 0 评论 -
重拾TypeScript-21 类中使用泛型
//继承泛型interfaceGirl{name:string}classSelectGirl<TextendsGirl>{constructor(privategirls:T[]){}//定义的接口是name是string类型,必须要求name属性getGirl(index:number):string{//想要名字和下标returnthis.girls[index].nam...原创 2020-11-22 18:49:04 · 154 阅读 · 0 评论 -
重拾TypeScript-20 函数中使用泛型下
//泛型都是字符串无numberfunctionjoin(first:string|number,second:string|number){return`${first}${second}`;}//这样就不行l,后面需要跟着字符串//使用了泛型.<使用此方法的时候定义类型,调用即是此类型>join<string>("jspang",".com");//<xx泛型>functionjoin&l...原创 2020-11-22 18:47:24 · 99 阅读 · 0 评论 -
重拾TypeScript-18 联合类型和类型保护
interfaceWaiter{anjiao:boolean;say:()=>{}}interfaceTeacher{anjiao:boolean;skill:()=>{};}//只要参数有或者两种以上,就叫做联合类型functionjudgeWho(animal:Waiter|Teacher){//他不知道这个方法是在Waiter里还是Teacher//animal.say()...原创 2020-11-22 17:49:22 · 122 阅读 · 0 评论 -
重拾TypeScript-14 抽象类和只读属性的使用
//classPerson{//只读不让改变publicreadonly_name:stringconstructor(name:string){this._name=name;}}constperson=newPerson('jspang');person._name='谢广坤'//不可改变console.log(person._name)//抽象类abstractc...原创 2020-11-22 17:31:13 · 109 阅读 · 0 评论 -
重拾TypeScript-13 类Getter , stter和static
classXiaojiejie1{//内部使用,_,只能内部调用,受保护的constructor(private_age:Number){}getage(){returnthis._age-10}setage(age:number){this._age=age+3//上面减了十岁,这里加了三岁}}c...原创 2020-11-22 17:20:16 · 289 阅读 · 0 评论 -
重拾TypeScript-12 类的构造函数
//构造函数classPerson{constructor(publicname:string){}}//继承classteacherextendsPerson{constructor(publicage:number){super('jspang')}}constteacher1=newteacher(18);console.log(teacher1.name);cons...原创 2020-11-22 17:00:26 · 192 阅读 · 0 评论 -
重拾TypeScript-10 类的访问类型 private protected public 类的三种访问类型
//privateprotectedpublic类的三种访问类型//类的内部和类的外部//不写访问类型,默认public//public=公用的随便调用,内部外部都可调用classPerson{name:string;//类的内部类型publicsayHello(){console.log(this.name+'sayhello');}//私有的,只能内部使...原创 2020-11-22 16:49:00 · 273 阅读 · 0 评论 -
重拾TypeScript-10 类的概念, 及使用
classLady{content='HI,帅哥!'sayHello(){returnthis.content}}////接收class类//constgoddess=newLady()////给goddess使用sayHello方法//console.log(goddess.sayHello());//继承lady方法//lady是父类,xiaojiejie是子类//class...原创 2020-11-22 16:37:46 · 97 阅读 · 0 评论 -
重拾TypeScript-09 Interface接口下
interfaceGirl{name:string;age:number;bust:number;//可有可无waistline?:number;//名称为string类型,值随便[propname:string]:any;//定义say方法,必须返回是stringsay():String}constgirl={name:'大脚...原创 2020-11-22 16:24:56 · 134 阅读 · 0 评论 -
重拾TypeScript-08 Interface接口
interface Girl{name:string;age:number;bust:number;// 可有可无waistline?:number;}const girl={name:'大脚',age:18,bust:94,waistline:24}const screenResume =(girl:Girl)=>{girl.age < 24 && girl.bust >=90 && conso.原创 2020-11-17 20:00:40 · 83 阅读 · 0 评论 -
重拾TypeScript-07 元祖数据 数组加强版
// 数组加强版 如果28放中间逻辑会出错// const xiaojiejie:(string|number)[] = ['dajiao',28,'teacher']const xiaojiejie:[string,string,number] = ['dajiao','teacher',28];//csv 元祖数据const xiaojiejies :[string,string,number][]=[['dajiao','teacher',28],['dajiao','t.原创 2020-11-17 19:44:12 · 93 阅读 · 0 评论 -
重拾TypeScript-06中的数组类型
// 类型推断 类型注释const numberArr : number [] = [1,2,3];const stringArr : string[]=['a','b','c'];const undefinedArr : undefined[] =[];//有数字和字符串const arr : (number|string)[]=[1,'string',2];// tpye alias 类型别名 都可以type Lady={name:string,age:number}cl原创 2020-11-17 19:37:09 · 87 阅读 · 0 评论 -
重拾TypeScript-05函数的参数类型定义和返回值的定义
// function getTotal(one: number, two: number) {// return one + two +'';// }// 没有报错, 但是已经转换为string类型了// const total1 = getTotal(1, 2);//函数的返回类型注解 强制定义number// function getTotal(one: number, two: number): number {// return one + two +...原创 2020-11-17 19:15:46 · 303 阅读 · 0 评论 -
重拾TypeScript-04//类型注解//类型推断
//类型注解let count2 :number ;count = 123;let countInference = 123;//类型推断。// const one =1;// const two =2;// const three = one + two;//不确定类型 如果出现any 就需要类型注释function getTotal(one : number,two:number){return one + two;}//total 根据one..原创 2020-11-17 18:10:10 · 144 阅读 · 0 评论 -
重拾TypeScript-03 //对象类型
const count1 : number = 918;const myName : string='jspang';// NULL , UNDEFINDE , BOOLEAN ,VOID, symbol 基础类型//对象类型const xiaojiejie : {name : string,age:number} = {name:'大脚',age:18}//数组类型 多个小姐姐const xiaojiejies : string[] =['谢大脚','刘英'原创 2020-11-17 17:41:02 · 82 阅读 · 0 评论 -
重拾TypeScript-02
// TypeScript 静态类型//永远是数据类型,不可改变let count : number =1;count = 2 //正确// count ='jspang' //错误//定义类, 其余地方调用 自定义静态类型interface xiaojiejie{uname:string,age:number}//类型不可修改。const xiaohong:xiaojiejie={uname:'小红',age:18}console.log(.原创 2020-11-17 17:17:39 · 75 阅读 · 0 评论 -
重拾TypeScript-01
function jspang(){let web :string="hello word"console.log(web);}//ts-nodejspang();1.npm install -g ts-node (安装ts编译)2.ts-node Demo1.ts (编译ts)原创 2020-11-17 16:50:39 · 84 阅读 · 0 评论