typescript 基础

 

类型别名

type 类型别名 = (类型1 | 类型2 )[]

let 变量名: 类型别名 = [数值1,数值2,数值3]

例:
type aa = (number | string)[]
let dd: aa = [1, 2, "哈哈哈"]

函数类型

基本样式

function add(sum1 :number, sum2: number):number {
    return sum1 + sum2
}
add(1,2)

 表达式

var dd = (sum1: number, sum2: number): number => {
    return sum1 + sum2
} 
dd(1,3)

 void无返回值

function dd(sum1:number,sum2: number): void {
    console.log(sum1,sum2)
}

  void 表示空。

可选参数

function dd(sum1?:number,sum2?: number) {
    console.log(sum1,sum2)
     return 1 
}

注意:不想返回参数就加void.如下:

function dd(sum1?:number,sum2?: number): void {
    console.log(sum1,sum2)
}

可选参数必须位于必选参数后。

对象类型

基本样式

let dd: {
    //在同一行,分号隔开,换行后可以不用分号,如下
    name: string
    age: number
    aa(): void
    //箭头函数如下
    //aa: ()=> void
} = {
    name: "xiaoke",
    age: 18,
    aa(){}
}

要是aa()里面要返回参数,那么可把void换了。

可选属性

let dd: { name: string; age?: number} = {
    name: " "
}

 接口

 接口声明类型(interface)

interface aa {
    name: string
    age?: number
}
let df: aa = {
    name: "qwe"
}

接口不仅 “ interface ” 能声明接口类型,“ type ” 也可以,但是“ interface ” 只能声明对象接口别名。

接口继承 ( extends )

interface aa { name: string; age?: number}

interface bb extends aa {
    bn: string
}

// 相当于:interface bb = { name: string; age?: number; bn: string}
// interface aa { name: string; age?: number; }

元组

当明确数组类型时,可以用元组来表示:

let sum1: [number,number ] = [1,2]

 类型推论

当一开始直接给初始化值时,会根据值去判断类型,并设定类型。 

如果没有初始化值,那么必须去写类型。

a = 19
//当前a就会自动声明类型为number

类型断言

通过as来指定类型,如下:

const aa = document.getElementById('link') as HTMLAnchorElement

类型查看可以去浏览器控制台输入以下

console.dir($0)

字面量类型

有明确的值使用,使用时只能用里面的值

function asa(xun: "left" | "right" | "up" | "down") {}
asa("left")

枚举类型

有明确的值使用,使用时只能用里面的值

数字枚举

//基本结构:

enum 变量名 {}//里面的值用逗号隔开

//例子:

enum aas {up, down, left, right}

function dd(sum1: aas) {}

dd(aas.down)//使"."去快捷获取

//初始枚举值(值后的没设置根据第一个值自增)

//例如:

enum aas {up = 10 , down, left, right} // 设置枚举值用等号设置

function dd(sum1: aas) {}

dd(aas.down)

字符串枚举

字符串枚举必须设置值,因为字符串不可以自增

enum aas {
up = "qqq", 
down = "sdds", 
left = "eses", 
right = "qqwe"
}
function dd(sum1: aas) {}
dd(aas.down)

any类型(不推荐)

let dd: any = {aa: '123'}

//声明变量,不给类型,也不给默认值,会被设置为any类型
//函数参数不加类型,会被设置为any类型

造成的错误不会提示,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小科先生

感谢大哥送的小钱钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值