• typescript


    typescript:

      typescript 是一种给 javascript 添加特性的语言扩展

      1,安装全局 typescript 插件:

        指令:npm i -g typescript

      2,创建 ts 文件

      3,指令:tsc index . ts

        会生成一个跟你 ts 同名的 js 文件

    Hbulider 自动编译 ts 文件

      1,安装插件 typescript

        

        

        

      2,下载完成之后重启

      3,工具-选项-应用

        

      4,点击最顶层目录,配置-

       

     typescript 语法:

      1,数据类型

        在 js 中数据类型,决定变量 = 右边的值

        使用 let 声明的变量,在声明变量的时候同时指定变量的类型

        语法:

          let a :数据类型 = ' 赋值 '

             let a :string = ' 123 '

      2,string 

        let b : string = 'hello '

      3,Boolean

        let b : boolean = true

      4,number

        let b : number = 123

      5,数组类型

        在数据类型后面加 [ ] ,代表数组中里面的元素都是该类型

        let aa : number [ ] = [ 1, 2, 3 ]

        第二种方法使用数组泛类型 Array < 数据类型 >

        let b : Array < string > = [ 'tan' , 'ya', 'ning' ]

      6,元祖类型

        当数组中的元素是有限个,我们可以使用元组类型,每个元素的数组类型可以不相同

        let b : [ string, number, boolean ] = [ 'tan', 111, true ]

      7,枚举类型

        枚举类型是 C 语言中的一种基本数据类型

        可列举的元素并且用一些对应编号,一一对应,一般用在存储星期,性别,颜色等

        默认从 0 开始,后面的叠加;

        先定义枚举,才能使用枚举

        enum color { red, blue = 22, plum }

         let c1 : color = color.red  //读取编号

         let c2 : string = color [ 22 ]  //读取元素

        console.log( c1, c2)  // 0 'blue'

      8,任意类型 any

        let b : any = true

      9,空类型 void

        没有类型,往往用于函数返回值

      10,null 和 undefined 类型

      11,never 类型

        主要用在抛出错误上

      12,非原始类型 object

        

      * 函数类型

        function add( x : number, y : number) : number{

          //   x,y:number代表变量的数据类型 

          //   number代表函数返回值的数据类型

          return x+y;

        }

        add(1,2)

      * 匿名函数定义一个函数类型

        let adds = function( x : number , y : number ) : number {

            return  x + y

        }

      命名函数 = 声明式定义

        function fn() { }

      匿名函数

        var fn2 = function () {}  

      参数

        

      没有数据类型

        

      匿名函数的定义

       

      sf 会被后面的函数所约束

      箭头函数前面的是约束

           

      可选参数:

        使用 ? 来实现可选参数的功能,注意,可选参数一定放在最后面

        

      默认参数:

        默认值后面用 = ,给参数赋值

        

        不传值,或者 undefined 的时候都走默认值 ‘hello’

        有值的话就走值

      ...运算符

        

      函数重载:

        在 js 中是不存在函数重载的,但是有函数重写

        函数重载----

          函数名相同,根据参数类型来决定使用哪个参数

          

        函数重写---

          在 js 中,一旦变量名同名,后者会把前者覆盖

          

        定义了两个函数类型,没有实现函数功能

          

        定义类:

          1,ts 定义类,首先如果有属性一定要提前定义属性指定数据类型,不加修饰符默认public

          2,ts 中的类没有原型这个概念

          3,new 实例的时候,就是调用这个构造函数

          4,方法中的 this 指向实例对象

                          

       类的继承:

        extends 和 super 关键字

        多态:对父类的方法重写,并且子类之间的这个方法表现不一致,这叫多态

            或者,父类定义一个方法没有实现,由子类去实现,并且表现不一样,这也叫多态

        类中的修饰符:

           public · 公共的 

            当没有在属性或方法前加修饰符的,默认是public,在任何地方都可以访问

            类里,类外,子类都可以访问

          protected · 受保护的

            类里,子类可以访问,类外面不能访问

          private · 私有的

            类外,子类都不能访问

          static · 静态属性

            类上面的属性就叫静态属性

            访问静态属性:类.属性名

       抽象类 abstract :

        1,作为其他子类的基类 

        2,抽象类不能被实例化

        3,使用 abstract 关键字定义抽象类和抽象方法

        4,抽象类中的抽象方法不包含具体实现,在他的派生类中实现

    抽象类就是给子类指定一些约束条件;实现抽象类的子类的时候必须包含抽象类中的所有属性
    实现抽象类的子类,使用关键字 extends

        5,派生类必须实现抽象类的抽象方法,普通方法不用重写;子类继承抽象类和类的继承用法一致,唯一的区别就是抽象方法子类必须实现

         

       接口 interface :

        接口 和 抽象类 都是一种对事物的约束

        抽象类只能约束类,接口可以约束的条件就多了

        接口就是制定一种规范,我们如果要实现接口,就得按照这个规则来

        制定属性规范  

          使用关键字 interface 来定义接口

          1,制定属性接口

            可选属性,? 在属性后面直接加? 就可以了

            

          2,实现函数类型接口

            

          3,定义带索引的类型

            

          4,定义对象接口数据类型

            

          5,定义类的类型接口

            ·定义类的接口类,里面的方法不能实现

            ·使用关键字 implements 

            ·在类中实现接口中的方法

             

      接口的继承:

         

  • 相关阅读:
    怎样使用Chrome模拟手机浏览器測试移动端网站
    [Erlang危机](5.1.3)进程
    Oracle ErrorStack 使用和阅读具体解释
    动态规划之整齐打印
    struts2+Oracle实现管理员查看用户提交的意见功能
    hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)
    2014牡丹江——Known Notation
    诗云:静观天下
    QQ欢乐斗地主心得体会 (三):高倍场攻略
    QQ欢乐斗地主心得体会 (三):高倍场攻略
  • 原文地址:https://www.cnblogs.com/xiaotaiyangye/p/11196850.html
Copyright © 2020-2023  润新知