Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >TypeScript中的可选属性和只读属性

TypeScript中的可选属性和只读属性

作者头像
孙亖
发布于 2018-06-07 04:50:46
发布于 2018-06-07 04:50:46
2.9K00
代码可运行
举报
文章被收录于专栏:编程直播室编程直播室
运行总次数:0
代码可运行
  • 可选属性

接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个?符号。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface Person {
  name: string;
  age?: number;
  gender?: number;
}

上面的例子中Person对象名字(name)是不可选的,age和gender是可选的。

  • 只读属性

顾名思义就是这个属性是不可写的,对象属性只能在对象刚刚创建的时候修改其值。 你可以在属性名前用 readonly来指定只读属性,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
interface User {
    readonly loginName: string;
    password: string;
}

上面的例子说明,当完成User对象的初始化后loginName就不可以修改了。

  • readonly vs const

最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用const,若做为属性则使用readonly

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
typescript 接口_typeScript
TypeScript 的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。接口是对象的状态(属性)和行为(方法)的抽象(描述)
全栈程序员站长
2022/09/16
1.1K0
typescript 接口_typeScript
【Vuejs】301- Vue 3.0前的 TypeScript 最佳入门实践
然鹅最近的一个项目中,是 TypeScript+ Vue,毛计喇,学之...…真香!
pingan8787
2019/07/30
4.4K0
【Vuejs】301- Vue 3.0前的 TypeScript 最佳入门实践
如何理解TypeScript 对象
在 TypeScript 中,对象是一种用于存储和操作数据的实体。对象可以包含属性和方法,用来描述和定义特定类型的数据结构及其行为。本文将详细介绍 TypeScript 中对象的概念、创建和使用对象的方法,并提供一些示例来帮助理解。
网络技术联盟站
2023/07/06
2470
TypeScript手记(三)
TypeScript 的核心原则之一是对值所具有的结构进行类型检查。它有时被称做“鸭式辨型法”或“结构性子类型化”。在 TypeScript 里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
用户7572539
2020/08/26
9110
【TypeScript 演化史 — 第二章】基于控制流的类型分析 和 只读属性
image.png 基于控制流的类型分析 TypeScript 官网总结了基于控制流的类型分析: TypeScript 2.0 实现了对局部变量和参数的控制流类型分析。以前,对类型保护进行类型
Javanx
2020/05/07
2K0
【TypeScript 演化史 — 第二章】基于控制流的类型分析 和 只读属性
TypeScript进阶
类型断言(Type Assertion)是开发者手动指定一个值的类型: <类型>值或值 as 类型
刘亦枫
2020/03/19
9810
【TypeScript】005-对象的类型——接口 与 数组的类型
在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。
訾博ZiBo
2025/01/06
690
TypeScript-索引签名和只读属性
索引签名和只读属性是TypeScript中的两个重要概念。索引签名允许您创建动态属性的对象,提高灵活性,而只读属性通过 "readonly" 关键字确保属性不可被修改,有助于保持对象的不可变性。这两个特性共同帮助开发者编写更具可维护性和类型安全性的代码
杨不易呀
2023/09/28
2310
TypeScript-索引签名和只读属性
TypeScript 对象的类型-接口
在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型
Leophen
2020/07/13
3.4K0
什么是TypeScript 接口?
在 TypeScript 中,接口(Interface)是一种用于描述对象的结构和行为的抽象。它可以定义对象的属性、方法以及其他类型的成员,并在代码中强制实现这些结构和行为。本文将详细介绍 TypeScript 接口的定义、使用方法和常见应用场景,并提供一些示例来帮助理解。
网络技术联盟站
2023/07/06
4870
Typescript 技巧,补充中
这是因为 TypeScript 在解析 let foo = {} 这段赋值语句时,会进行“类型推断”:它会认为等号左边 foo 的类型即为等号右边 {} 的类型。由于 {} 本没有任何属性,因此,像上面那样给 foo 添加属性时就会报错。
mafeifan
2019/03/05
7120
一份不可多得的TypeScript系统入门整理
函数声明(Function Declaration)和函数表达式(Function Expression)
@超人
2021/07/29
1.8K0
一份不可多得的TypeScript系统入门整理
【TypeScript 4.5】006-第 6 章 对象类型
訾博ZiBo
2025/01/06
840
TypeScript 中接口的理解与应用场景
接口在 TypeScript 中是一系列抽象方法的声明,它代表了一组方法的特征集合。这些方法都是抽象的,需要由具体的类去实现。接口为这些类型命名,并为代码或第三方代码定义了一种约定,使得第三方可以通过这组抽象方法调用具体的类执行具体的方法。 简而言之,接口描述了一个对象的相关属性和方法,但它本身并不提供创建对象实例的具体方法。
全栈若城
2024/10/11
1830
TypeScript入门第一天,所有类型+基础用法+接口使用
const是对let的一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。
玖柒的小窝
2021/09/29
6520
TypeScript基础(三)扩展类型-接口和类型兼容性
在TypeScript中,接口(Interface)用于定义对象的结构和类型。它是一种约定,用于描述对象应该具有哪些属性和方法。接口可以提高代码的可读性、可维护性和可重用性。
can4hou6joeng4
2023/11/17
3170
02. 从TypeScript入手,驾驭HarmonyOS开发的技术风潮!-----------(中篇)
TypeScript 的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。 接口是对象的状态(属性)和行为(方法)的抽象(描述)
全栈若城
2024/03/10
1740
02. 从TypeScript入手,驾驭HarmonyOS开发的技术风潮!-----------(中篇)
深度讲解TS:这样学TS,迟早进大厂【08】:对象的类型—接口
初学者玩转 TypeScript系列,总计 21 期,点赞、收藏、评论、关注、三连支持! TS系列地址: 21篇文章带你玩转ts # 对象的类型——接口
江一铭
2022/09/02
9250
TypeScript 官方手册翻译计划【五】:对象类型
在 JavaScript 中,最基础的分组和传递数据的方式就是使用对象。在 TypeScript 中,我们则通过对象类型来表示。
Chor
2021/11/29
1.8K0
TypeScript高级类型与实用程序
我们一起来看一下今天的大纲,希望这些高级类型 与实用程序能够帮助大家节省一些开发的时间:
疯狂的技术宅
2021/01/14
6850
TypeScript高级类型与实用程序
相关推荐
typescript 接口_typeScript
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验