首页 > 其他分享 >Typescript中Readonly<T> 是什么&例子

Typescript中Readonly<T> 是什么&例子

时间:2023-12-11 10:46:18浏览次数:37  
标签:Typescript name 只读 age Readonly 例子 类型 属性

Readonly<T> 是 TypeScript 中的一个预定义类型操作工具,用于将给定类型 T 中的所有属性设置为只读。这意味着创建的新类型将具有与原始类型相同的属性,但这些属性在新类型中是只读的,不可修改。

下面是一个示例:

type Person = {
  name: string;
  age: number;
};

type ReadonlyPerson = Readonly<Person>;

const person: ReadonlyPerson = {
  name: 'Alice',
  age: 30,
};

// 错误示例:无法修改只读属性
person.name = 'Bob'; // 这里会报编译错误

在这个例子中,我们定义了一个 Person 类型,它包含 nameage 两个属性。然后我们使用 Readonly<Person> 来创建一个新类型 ReadonlyPerson,该类型中的所有属性都被设为只读。在创建 person 对象时,我们发现无法修改 nameage 属性,因为它们已经被设为只读。

Readonly<T> 很适合用于确保对象在特定情况下不会被意外修改,从而增强代码的可靠性和安全性。

标签:Typescript,name,只读,age,Readonly,例子,类型,属性
From: https://www.cnblogs.com/crispyChicken/p/17893837.html

相关文章

  • 在typescript中,Omit是什么意思
    在TypeScript中,Omit<Type,Keys>是一个工具类型(utilitytype),它用于创建一个新的类型,这个新类型是从现有类型(Type)中排除了某些指定的属性(Keys)后的结果。具体来说,Omit<User,"token">表示创建一个新的类型,这个类型包含了User类型的所有属性,除了token属性。换句话说,如果User......
  • NestJS 筑基:TypeScript 类和装饰器
    前言先回顾下前文中介绍了哪些内容:使用@nestjs/cli创建和管理Nest应用Hello,World示例代码分析Nest基本概念:模块,控制器,服务常用的装饰器:@Module、@Controller、@Get、@InjectableNest目录结构分析@nest/cli脚手架的命令本文先不继续讲解Nest中的内容,而是打算介绍TypeSc......
  • TypeScript(1)
    1.数据类型1.1基本数据类型consta:number=1constb:string='123'constc:boolean=true//undefinedandnullbelongstoothertypesconstd:null=nullconste:undefined=undefined1.2引用数据类型consta:number[]=[]//allelements......
  • 深度掌握TypeScript中的重载【函数重载、方法重载】
    深度掌握TypeScript中的重载【函数重载、方法重载】1.函数重载,方法重载的重要性著名前端流行框架底层都用到函数重载,例如:Vue3底层源码就多处使用到带泛型的函数重载。很多前端面试更是拿函数重载作为考核求职者TS技能是否扎实的标准之一,如果你不掌握函数重载,等于你的TS技......
  • Vite4+Typescript+Vue3+Pinia 从零搭建(6) - 状态管理pina
    项目代码同步至码云weiz-vue3-templatepina是vue3官方推荐的状态管理库,由Vue核心团队维护,旨在替代vuex。pina的更多介绍,可从pina官网查看特点更简洁直接的API,提供组合式风格的API支持模块热更新和服务端渲染对TS支持更为友好安装npmipinia使用1.创建......
  • 微信小程序 wx.request Typescript 封装统一请求
    话不多说直接上代码,想懂的终究会懂,哈哈哈哈文件名:request.ts 1/**2*HttpMethod类型api处要用3*/4exportenumHttpMethod{5Get="GET",6Post="POST",7Options="OPTIONS",8Put="PUT",9Delete=......
  • TypeScript中的类
    TypeScript类1.TypeScript中类的意义​ 相对以前JavaScript不得不用构造函数来充当”类“,TypeScript类的出现可以说是一次技术革命。让开发出来的项目尤其是大中项目的可读性好,可扩展性好了不是一点半点。​ TypeScrip类的出现完全改变了前端领域项目代码编写模式,配合......
  • 1.TypeScript安装
    TypeScript是由微软开发的一款开源的编程语言。它是JavaScript的超级,扩展了JavaScript的语法,遵循最新的ES6、ES5规范。TypeScript更像后端java、C#这样的面向对象语言可以让js开发大型企业项目。安装TypeScriptnpminstall-gtypescript//安装命令tschelloworld.ts......
  • Linux上使用CMake简单例子
    记录一下自己简单在linux-Ubuntu上用cmake的例子首先安装cmakesudoaptinstallcmake然后创建一个文件夹,里面放点例子代码main.cpp//main.cpp#include<iostream>#include"demo.h"usingnamespacestd;intmain(){Demod;d.show();return0;}demo.h//de......
  • 企业级 Web 应用里使用 CSS 调整应用外观的一些例子
    笔者在日常工作中曾经负责过一些企业级Web应用的负责和开发,也曾经指导过一些客户的二次开发人员,通过各种方式对我们发布的企业级Web应用进行一些定制开发。所谓企业级前端应用,是指为大型企业或组织开发的前端应用,这些应用具有超过一般2C软件的技术复杂度,高度定制化和可扩展......