typescript学习笔记--类型

- undefined null为所有类型子类型  

   let a: number =undefined 编译通过
   let notSure: any = 4
   可以赋值任何类型


-  元组
   let user: [string, number] = ['abc', 123]
   user.push(item) item只能是字符或者数字
-  interface
   声明   

  interface Person {
     id: number,
     name: string,
     age?: number,
    readonly sex: number
  }

-  可选值 变量后冒号前加?
   age?: number
-  只读属性,属性key前加readonly,不可以通过 obj.key 更改对应value

readonly sex: number

-  function

function add(x: number, y: number, z?:number):  number: {
   return x + y
}
let result  = add(2, 3)

   result为number,  中括号前面的类型限制函数返回的值得类型  
  参数中的可选参数后面不能再加确定的参数,报错  
  函数表达式写法

const add = (x: number): number => {
 return x
}
const result = add(3) // result 是number
const result: string = add(2)  // 报错
const result: (x: number) => number= add(?为啥可以)

interface iSum {
 ( x: number, y?: number): number
  // 声明函数类型
}
const result: iSum = add // 成立

-  类型推论
  ts会在没有明确声明一种类型时会根据值推断出一个类型

-  联合类型

let numberOrString: number | string

   变量只能访问两种类型的共有的属性和方法

-  类型断言 as

function getLen(input: string | number): number = {
  const str = input as string
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值