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流行库


..
在线编译

原文地址:https://www.cnblogs.com/lgyong/p/13181954.html