day3 typescript学习 类型:object,数组,元组,枚举

接上篇文章,到object类型 

1.object

object表示一个js对象

let a: object;
a = {};
a = function () {};

 上面这两个都不报错,因为都是js对象,这种表示不能明确是对象还是函数,所以这种写法一般不用。

对象

{} 用来指定对象中可以包含哪些属性

语法:{属性名:属性值,属性名:属性值}

在属性名后加一个问号?,表示属性是可选的。

let b: {name: string, age: number}
b = {name: '张三'}  // error,b 必须且只能包含name和age两个属性
b = {name: '张三', age: 18}  // 不报错


// 如果使用 ?
let b: {name: string, age?: number}
b = {name: '张三'}  // 不报错
b = {name: '张三', age: 18}  // 不报错

使用问号之后代表age属性可以写也可以不写

[propName: string]: any 表示任意类型的属性,只要写了这样的代码,就可以随便写属性了

let c: {name: string, [propName: string]: any};
c = {name: '张三', age: 18, sex: '男'}


// [propName: string]: any 表示任意类型的属性

 

函数

设置函数结构的类型声明:

        语法:(形参:类型,形参:类型) => 返回值

let d: (a: number ,b: number) => number
// 就是两个参数都是number类型,返回值也是number类型

d = function (n1: number, n2: number) : {
    return 10
}

2. 数组

数组的类型声明:

        类型[]

        Array<类型>

// string[] 表示字符串数组
let e: string[];
e = ['a', 'b', 'c'];
e = ['a', 123];  // error



// number[] 表示数值数组
let f: number[];
f = [11,12,13];


let g: Array<number>;
g = [1,2,3,4]

3.元组

就是固定长度的数组

语法:[类型,类型,类型]

let h: [string, string, string];
h = ['hello', 123, 'zs']  // error
h = ['hello', 'zs', 'ls'] // 不报错
h = ['hello', 'zs'] // error

4. 枚举(enum)

enum Gender{
    Male = 0,
    Female = 1
}

let i: {name: string, gender: Gender}
i = {name: '张三', gender: Gender.Male}

console.log(i.gender === Gender.Male)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值