ts学习
基础类型
任意类型any
数字类型number
let num:number=32
-
Number 对象属性
MAX_VALUE=>最大的数 MIN_VALUE=>最小的数 NAN=>非数字值 NEGATIVE_INFINITY=》负无穷大 POSITIVE_INFINITY=》正无穷大 prototype=》Number 对象的静态属性。使您有能力向对象添加属性和方法。 constructor=>返回对创建此对象的 Number 函数的引用。
-
Number 对象方法
toExponential()=》 把对象等值转为指数计数法 toFixed()=》指定小数点位数 toLocaleString() =》把数字转为字符串,使用本地数字格式顺序 toPrecision()=》把数字格式化为指定的长度 toString() =>数字转化为字符串 valueOf() =》 返回一个number对象的原始数字值
字符串类型string
let name:string='miya'
-
String 对象属性
constructor length prototype
-
方法属性
charAt()=》返回指定位置的字符,未找到返回'' charCodeAt()=》返回指定位置 Unicode 编码。 concat()=》连结2个字符串 indexOf()=》返回指定字符串首次出现的位置 lastIndexOf()=》返回从后向前,出现的字符串位置 match()=》查找找到一个或者多个正则表达式的匹配 replace()=》替换 search()=》检索与正则表达式相匹配的值 slice()=》提取字符串的片断,并在新的字符串中返回被提取的部分 split()=>把字符串分割为字符串数组 stringvar.substr(start [, length ])=》从其实索引提取字符串中指定数字的字符,不会影响源字符串 substring(start,end)=》返回截取的内容 toLocaleLowerCase()=>大写转为小写 toLocaleUpperCase=》小写转为大写 toLowerCase()=》字符串转为小写
布尔类型boolean
- let flag:boolean=false
数组类型
在元素类型后面加上[],let arr:number[]=[1,2] 使用数组泛型let arr:Array=[1,2]
-
方法
concat() every() filter() forEach() indexOf() join() lastIndexOf() map() pop() push() reduce() reduceRight() reverse() shift() slice() some() sort() splice() toString() unshift()
元组
- 已知元素类型和类型的数组let x:[string,number]; x=['Runoob',1]
枚举
-
枚举类型用于定义数值集合enum
- enum Color {Red,Green,Blue}
- let c: Color=Color.Blue
void
-
用于标示返回值的类型,表示该方法没有返回值
- function hello() :void{aleat('hello miya')}
null
- 对象值缺失
undefined
- 初始化变量为一个未定义的值
never
- never 是其它类型,(包括 null 和 undefined)的子类型,代表从不会出现的值
TypeScript 变量声明
let [变量名]:[类型]
- let uname:string (没有赋值,默认初始值为undefined)
类型断言
-
类型断言可以用来手动指定一个值的类型,即允许变量从一种类型更改为另一种类型
- <类型>值
- 值 as 类型
类型推断
let num =32 num ='32' console.log(num) 此时num值更为字符串会出错
TypeScript 函数
函数返回值
- function fn():number{return 2121}
带参数函数
- function fn(x:number,y:number){return x+y}
可选参数
- function fn(x:string,y?:string){return x+y}
默认参数
- function fn(x:number,y:number=3){return x+y}
剩余参数
- function fn(x:number,...y:number[]){return x+y.reduce((x,y)=>x+y}
匿名函数
-
自调用
- ((a,b)=>a+b)(1,3)
-
匿名函数
- let fn=(x:number,y:number)=>x+y
递归函数
- let factorials=(number)=>number<=0?1:(number*factorials(number-1))
箭头函数
- let factorials=(number)=>number<=0?1:(number*factorials(number-1))