typeScript语法入门

352 阅读3分钟

ts学习

ts学习.png

基础类型

任意类型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))