Typescript 学习之对象类型

今天学习的内容是 Typescript 的对象类型。

在 JS 中创建一个对象,通常使用对象字面量的形式,比如定义一个 person 对象:

const person = {
    name: '昆吾',
    age: 18
}

之后就可以使用该对象,可以访问对象身上存在的属性,比如 person.name,甚至可以访问不存在的属性,比如 person.xxx ,都不会报错。

而在 Typescript 中,在创建好 person 对象以后,person 的类型就已经确定了,是一个对象字面量类型:

image-20220911160804622

如果访问该类型身上不存在的属性,比如访问 person.xxx,编辑器就会提示报错:

image-20220911160908186

通过这个例子,可以得知,在 TS 中创建一个对象时,TS 就已经为此对象确定好了类型,并且对象成员的类型也确定好了。

对象的类型就是对对象自己的一个描述,使用大括号 {} 表示,并为每个成员声明好类型,称之为 Key To Type键类型对

{
    name: string;
    age: number;
}

这也是类型推断的一种。
除此之外,还可以显式的手动为一个变量设置类型,还是以上面的为例:

const person: {name: string, age: number} = {
    name: '昆吾',
    age: 18
}

对象类型还可以使用 object 或者 {}去表示:

const person: object = {
   name: '昆吾',
   age: 18
}

const person: {} = {
   name: '昆吾',
   age: 18
}

但是它太宽泛了,对于增强类型提示没有帮助,该报错的地方依然会报错。因为对象是键值对的集合,使用 object 去标识,TS 编译器只知道它是一个对象,但并不能知道它实际的内部结构是如何表示的。所以在开发中 object 作为类型,使用的几率不是很多。

object 类型有点像前面学到的 any 类型,都是比较宽泛的一个类型,objectany 的一个子集。在开发中都尽量少使用。

小结

本文介绍了 Typescript 中的对象类型,它是一种键类型对结构。在开发时尽量使用明确的结构来定义对象,才能使用 TS 提供的类型提示的能力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

昆吾kw

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值