• Typescript


    ts文档

    1.声明

    声明标识 + 变量名 + ':' + 声明类型 = 值

    var a:number = 56;                    // 数字类型(C => int a = 5;)
    enum REN{nan='男人',nv='女人',cen='中性人'}             // 枚举类型
    



    2.类型

    • undefined
    • number: 数值类型;(可以是小数)
    • string : 字符串类型;
    • boolean: 布尔类型;(只有true,false => 1不能像js表示true)
    • tuple : 元祖类型;(可以赋多种类型的数组,但又不同于js,需要<>声明 let arr1 : [string,number])
    • Array<...> : 数组类型;
    let arr1:number[ ]                                             // 声明一个数值类型的数组
    let arr3:Array<string> = ['jack','tomy','gogo']                // 声明一个字符串类型的数组
    let arr3:Array<string> = new Array('jack','tomy胖','gogo')     // 声明一个字符串类型的数组
    
    • null:空类型。
    • any: 任意类型,一个牛X的类型;
    • void:空类型,用于函数返回;
    • enum:枚举类型; (enum REN{ nan , nv ,yao} console.log(REN.yao))


    3.函数(不return 声明void)

    ①.返回可多种类型

    function searchXiaoJieJie(age:number):string/void{
        return '找到了'+age+'岁的小姐姐'
    }
    var age:number = 18
    var result:string = searchXiaoJieJie(age)
    console.log(result)
    

    ②.可选参数的函数 (?)

    function searchXiaoJieJie2(age:number,stature?:string):string{
        if(stature !=undefined){
             yy = yy + stature
        }
    }
    

    ③.有默认参数的函数

    function searchXiaoJieJie2(age:number=18,stature:string='大长腿'):string{
        let yy:string = ''
        yy = '找到了'+age+'岁'
        if(stature !=undefined){
            yy = yy + stature
        }
        return yy+'的小姐姐'
    }
    

    ④.有剩余参数的函数

    function searchXiaoJieJie3(...xuqiu:string[]):string{
        let  yy:string = '找到了'
        for (let i =0;i<xuqiu.length;i++){
            yy = yy + xuqiu[i]
            if(i<xuqiu.length){
                yy=yy+'、'
            }
        }
        yy=yy+'的小姐姐'
        return yy
    }
    <br /><br />
    
    
    

    4.日期

    let d:Date = new Date()
    let d:Date = new Date(1000)
    console.log(d)  //1970-01-01T00:00:01.000Z
     
    let d1:Date = new Date('2018/09/06 05:30:00')
    let d2:Date = new Date('2018-09-06 05:30:00')
    let d3:Date = new Date('2018-09-06T05:30:00')
    console.log(d1)
    console.log(d2)
    console.log(d3)
    
    let d:Date = new Date(year,month,day,hours,minutes,seconds,ms);
    



    5.正则

    //构造函数法
    let reg1:RegExp = new RegExp("jspang")  //表示字符串规则里含有jspang
    console.log(reg1)
    let reg2:RegExp = new RegExp("jspang",'gi')
    console.log(reg2)
     
    //字面量法
    let reg3:RegExp = /jspang/
    let reg4:RegExp = /jspang/gi
    

    6.类

    关键字:class(标识)、extends(继承)、constructor(构造函数)、super()(继承属性)

    类里面的修饰符
    // public:己,子,外
    // protected:己,子
    // private:己
    // 属性不加修饰符,默认是公有

    https://blog.csdn.net/u010856177/article/details/81089433

    public name: string //属性 public关键词可省略,不暴露出去
    constructor(name: string) { //构造函数 实例化触发的方法
    this.name = name;
    }
    



    TS趋势:

    1. 静态类型和面向对象
    2. 应用程序
    3. JS超集 类sass和css
    4. 跨平台且开源
    5. 开源引入js流行库


    ..
    在线编译

  • 相关阅读:
    [zt]VisualStudio2005技巧集合你真的会使用断点吗?
    轻松掌握Windows窗体间的数据交互
    Real Multithreading in .NET 2.0
    [zt]petshop4.0 详解之八(PetShop表示层设计)
    9.6 english log
    浅谈“三层结构”原理与用意
    [zt]petshop4.0 详解之四(PetShop之ASP.NET缓存)
    [虚拟技术]你会选谁:Red Hat还是Ubuntu KVM虚拟化?
    [虚拟技术]Linux KVM与Xen,QEMU的性能比较
    [虚拟化平台技术]选择哪一种虚拟化平台 KVM还是Xen?
  • 原文地址:https://www.cnblogs.com/lgyong/p/13181954.html
Copyright © 2020-2023  润新知