美文网首页
TypeScript

TypeScript

作者: 一只小丫丫 | 来源:发表于2020-04-27 21:47 被阅读0次

    typescript

    定义

    • type类型+ES6
    • javascript 的超级
      包含ES6
    • 静态类型语言
      类型检查,接口,oop非常完善
    • 可以编译成JavaScript 在浏览器运行

    安装

    npm i typescript -g

    tsc常用命令

    tsc --init   //初始化项目
    tsc ./src/xxx.ts  //编译某个文件
    tsc -w  //检测变化并编译
    

    tsconfig.json

    {"complierOptions":{
        "outDir": "./dist",         //输出文件夹            
        "rootDir": "./src",         //源文件夹            
    }}
    

    ts 常见类型

    1. boolean布尔
      let b:boolean = true;
    2. number 数字
      let num:number = 18;
    3. string 字符串
      let str:string = "I love you";
    4. 数组
    let arr:number[]=[1,3,5,7,9];
    let arr2:Array<string> = ["I","love","typescript"];
    let arr3:any[] = ["123","456",789];
    
    1. 对象 Object
      let obj:Object = {name:"yy",age:18}
    2. 任意 any
      let notSure:any = "yapan";
    3. 没有返回 void
      function fun():void{ }
    4. null 类型只能是null
      let n:null = null;
    5. undefined 没有定义
      let u:undefined = undefined;

    面向对象OOP

    • 封装
    • 继承
    • 多态
    • 接口

    接口

    接口

    • 定义
     interface Person{
        name:string,
        age:number
    }
    
    • 实现接口
    let user:Person = {
        name:"yaya",
        age:18,
    }
    
    • 使用
    function fun(p:Person){
        console.log(p);
    }
    fun(user)
    

    可选接口

    interface SquareConfig{
        color?:string,
        width?:number
    }
    

    只读接口

    interface Point {
        readonly x:number,
        readonly y:number,
    }
    

    函数

    函数返回值

    无返回值
    function warnUser ():void{}
    返回字符串类型
    function fun():string{}
    一旦定义了返回类型,在函数内部必须也要返回该类型

    参数

    参数指定类型
    function add(x:number,y:number): number{}
    参数可选
    function add(x:number,y?:number): number{ }
    参数默认
    function add(x:number,y:number=20): number{ }

    箭头函数

    let add = (x:number,y:number):number =>x+y;

    和ES6一致的

    访问修饰符

    修饰符既可以修饰属性,也可以修饰方法

    class Animal{
        name:string;
        constructor(name:string){
            this.name =name;
    }}
    

    简写

    class Animal{
        constructor(publicname:string){this.name =name; }
        private sayHi(){}
    }
    
    public:默认修饰符,代表公开的
    • class内部可以访问
    • 子类可以访问
    • 实例也可以访问
    private:私有的
    • class内部可以访问
    • 子类会继承,可以访问
    • 实例不能访问
    protected:保护的
    • class内部可以访问
    • 子类会继承,可以访问
    • 实例不能访问

    存储器

    在设置或者访问对象某个属性时可以做一些额外操作实现的封装,私有变量的隐藏

    步骤
    • 01 定义私有变量 private_age:number;
    • 02 设置set
    set age(val:number){
           this._age=age;
            //可以写其他逻辑
    }
    //当去实例.age=xxx 时候会被调用这个方法
    
    • 03 设置get
    get age():number{
       return this._age;
      //...
    }
    //当执行 实例.age 时候被调用
    
    • 实例化访问设置属性
    let c = new Cat("花花",2);
    c.age(); //get age 方法被调用
    c.age=18; //set 方法被调用
    

    相关文章

      网友评论

          本文标题:TypeScript

          本文链接:https://www.haomeiwen.com/subject/nrsuwhtx.html