• 5分钟上手Typescript


    一、typescript之基本类型的赋值

     1、在基本类型赋值时,typescript要求做类型注解,格式为 let 变量 :类型=符合类型的值

      number类型

        let a:number=123; //a只能赋值number ullundefined类型,可以赋值2进制、8进制和16进制,如let a:number=0x16

      string类型

        let b:string='234242'; //b只能赋值string ullundefined类型

      boolean类型

        let c:boolean=true; //c只能赋值boolean ullundefined类型,如true | false;  

      null 类型

        let d:null=null; //null是其他基本类型的子集可以直接赋值给其他类型如:let d:number=nulll 、let d:string=null;

      undefined类型

        let e:undefined=undefined;  //undefined 是其他类型的子集,可以赋值给其他类型,与null相似

    注释:1、基本类型存储在栈区、运行速度快、存储空间小。

       2、null为空,undefined指的是定义了但未赋值的变量,如 let a; a的值就为undefined;

      二、引用类型的赋值

        1、对象的赋值

        

    interface Person {
        readonly id: number;    //定义的值的前面加readonly代表只读属性,不能第二次赋值
        name: string;
        age?: number;    //?:的含义是可选参数可写,可不写
    }
    let obj: Person = {   //对象使用接口进行类型注解
        id: 123,     //inerface定义的、除了?:可选参数外,其他定义的属性必须要有.
        name: '123',
    }
    

       2、函数的赋值

        

    const test = function (a: number, b: string, c: number = 10): string { 
        if (typeof c == 'number') {
            return a + b + c
        } else {
            return a + b;
        }
    }
    let a: (a: number, b: string, c: number) => string = test;  //test的值是一个函数,ts有类型推断、判断出test的类型是函数,所以赋值给a,a也必须是一个函数。
    

      3、类的赋值

    //public private protected static
    class Anima {
        name: string = '123';   //name前可以加public属性,加public,它的实例、及继承它的class都可以使用name属性,private,只有它自己内部能使用、protected只有继承它的class可以使用(extends);static 表示静态属性可以直接访问,如Anima.name;
        static write() {
            console.log("写")
        }
        speak() {
            console.log("我说");
        }
    
        instance(b) {
            console.log(b instanceof Anima);
        }
    }
    
    var anima = new Anima();
    // console.log(anima.name);
    // Anima.write();
    class a extends Anima {
        constructor() {
            super();
            console.log(this.name, 12342);
        }
    }
    // console.log(anima.instance(a))
    

      4、数组与元组

       1、数组

        let a:number[]=[1432]; //number 可以为其他类型,这种写法,代表内部只能有一种数据类型

       2、元组

        let a:[string,number]=['a',123];   //顺序不能返,不能少

    注释: 1、引用类型的引用地址放在栈区、值放在堆区

      2、let a: (a: number, b: string, c: number) => string = test;值的是ts里的函数类型,不是es6的定义

  • 相关阅读:
    排列 [计数dp]
    排列 [计数dp]
    函数 [计数]
    多态
    继承2
    2018年蓝桥杯b组国赛真题
    c++的继承
    运算符2
    运算符重载
    拷贝构造
  • 原文地址:https://www.cnblogs.com/uimeigui/p/12899482.html
Copyright © 2020-2023  润新知