【九月打卡】第5天 TS的面向对象
标签:
Typescript
第一板块:两小时极速入门TypeScript,4-1;4-2;4-3;4-4;4-5;4-6;4-7,阿莱克斯刘
第二板块:
object类型
const person:{ name:string, age:number, }={ name:"黎明", age:123, } // person的类型就是他自己 console.log(person.yearsold); // 注意:当我们调用一个没有被定义的变量时在原生js中是不会报错的,但是ts中会报错。
2.interface
interface IPoint{ x:number, y:number } function drawPoint(point:IPoint){ console.log(point.x,point.y) } drawPoint({x:105,y:456.65})
3.class和Access Modifier 访问修饰符
public(公有);private(私有);
setter和getter简单来说就是把class的私有属性
interface IPoint{ drawPoint:()=>void; getDistances:(p:IPoint)=>void; getX:()=>void; setX(value:any)=>void; } class Point implements IPoint{ x:number; y:number; // 构造函数(才可以通过实例把值传进来) // public 修饰符 constructor(public x:number,public y:number){ this.x=x; this.y=y; } drawPoint=()=>{ console.log('x:'this.x,'y:'this.y); } getDistances=(p:IPoint)=>{ return Math.pow(p.x-this.x,2)+Math.pow(p.y-this.y,2) } setX=(value:number)=>{ if(value<=0){ throw new error(;value不能小于等于0;) } this.x=value; } getX=(value:number)=>{ return this.x; } } } const point=new Point(2,3);//对象object,实例instance point.drawPoint() point.setX(10); console.log(point.setX());
4.module
// 开发中我们不希望把代码都写到一个文件中,那么就需要我们的module了。 如何做为模块单独导出类呢?只需要在类前面加export就可以了 export class Point implements IPonit{ } 在需要这个模块的文件中导入 improt Point form ‘./point’;
5.Generice泛型(T表示泛型)
let arr:string[]=['1','2']; let arr2:Array<number>=[1,2,3,4,5]; let lastInArr=<T>(arr:Array<T[]>)=>{ console.log(arr[arr.length-1]) } const last1=lastInArr([1,2,3,4,5,6]) // 通过使用泛型,可以明确的指定类型 // 使用多个泛型的时候括号中使用逗号隔开(二选一) let markTulp=<T,K>(x:T,y)=>[x,y]; const last2=lastInArr<boolean,number>(true,1) let markTulp=<T=boolean,K=number>(x:T,y:K)=>[x,y]; const last3=lastInArr(true,1)
第三板块:
课程总结:
TS的基础理论知识
TS的编译原理
TS的类型(12中类型,boolean,number,string,array,元组,枚举,any,void,null,undefined,never,onject),还有高级拓展:联合类型,字面量类型
类型断言
函数类型
Ts的面对对象(class类 ,Interface接口类型,访问修饰符,泛型)
学习过程:查看学习文档,代码练习。
第四板块:
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦