手记

【九月打卡】第5天 TS的面向对象

第一板块:两小时极速入门TypeScript,4-1;4-2;4-3;4-4;4-5;4-6;4-7,阿莱克斯刘

第二板块:

  1. 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接口类型,访问修饰符,泛型)

学习过程:查看学习文档,代码练习。

第四板块:




0人推荐
随时随地看视频
慕课网APP