Typescript
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趋势:
静态类型和面向对象
应用程序
JS超集 类sass和css
跨平台且开源
开源引入js流行库
ts好处:
1.后期开发
2.类型确定逻辑判断更快,减少弱转化,提升页面响应 a == 'a'
赞 (0)