对象的类型

在typescript中,我们定义对象的方式要用关键字interface(接口),我的理解是使用interface来定义一种约束,让数据的结构满足约束的格式。定义方式如下:

//这样写是会报错的 因为我们在person定义了a,b但是对象里面缺少b属性
//使用接口约束的时候不能多一个属性也不能少一个属性
//必须与接口保持一致
interface Person {b:string,a:string
}const person:Person  = {a:"213"
}
//重名interface  可以合并
interface A{name:string}
interface A{age:number}
var x:A={name:'xx',age:20}
//继承
interface A{name:string
}interface B extends A{age:number
}let obj:B = {age:18,name:"string"
}

可选属性 使用?操作符

//可选属性的含义是该属性可以不存在
//所以说这样写也是没问题的
interface Person {b?:string,a:string
}const person:Person  = {a:"213"
}

任意属性 [propName: string]

需要注意的是,一旦定义了任意属性,那么确定属性和可选属性的类型都必须是它的类型的子集

//在这个例子当中我们看到接口中并没有定义C但是并没有报错
//应为我们定义了[propName: string]: any;
//允许添加新的任意属性
interface Person {b?:string,a:string,[propName: string]: any;
}const person:Person  = {a:"213",c:"123"
}

只读属性 readonly

readonly 只读属性是不允许被赋值的只能读取

//这样写是会报错的
//应为a是只读的不允许重新赋值
interface Person {b?: string,readonly a: string,[propName: string]: any;
}const person: Person = {a: "213",c: "123"
}person.a = 123

添加函数

interface Person {b?: string,readonly a: string,[propName: string]: any;cb():void
}const person: Person = {a: "213",c: "123",cb:()=>{console.log(123)}
}

下一章数组学习TypeScrip4(数组类型)_qq1195566313的博客-CSDN博客

学习TypeScrip3(接口和对象类型)相关推荐

  1. TypeScript实战-05-TS接口之对象类型接口

    一,前言 TS新增了一个重要概念:接口,分为对象类型接口和函数类型接口 二,接口示例 接口可以约束对象,函数,类的结构和类型,是一种代码协作必须遵守的契约 接口的定义方式: 使用interface关键 ...

  2. java使用axis调用.net发布的webservice接口返回对象类型

    本人在java中axis-1.4 调用 .net发布的webService接口 有问题欢迎各路大神讨论 !!! 1.1 基本类型 1.2 对象类型 1.3复杂对象类型(对象类中嵌套对象类) 返回基本类 ...

  3. Selenium学习 - WebElement接口

    Selenium学习 - WebElement接口 WebElement对象代表了一个DOM元素. 一.WebElement的属性 tag_name --- 元素的tagName属性     text ...

  4. python 对象类型有哪些?

    python 强大的内置类型让我接触到python的时候开始慢慢的喜欢上它了,感觉既方便又好用,下面我们先一起学习下内置对象类型的好处: 1内置对象能够使得我们编写程序更容易. 2内置的对象效率更高, ...

  5. TypeScript对象类型

    对象类型 在 JavaScript 中,我们分组和传递数据的基本方式是通过对象.在 TypeScript 中,我们通过对象类型来表示它们. 而TypeScript的核心原则之一是对值所具有的的结构进行 ...

  6. 1.19(对象类型判断、复制、in、遍历;深拷贝与浅拷贝;字符串的遍历接口、模板字符串、字符串扩展方法)

    1.19(对象类型判断.复制.in.遍历;深浅拷贝;字符串的遍历接口.模板字符串.unicode.字符串扩展方法) 一.对象 1.属性简洁表示法与属性名表达式 let name = "wuy ...

  7. Go 学习笔记(64)— Go error.New 创建接口错误对象、fmt.Errorf 创建接口错误对象、errors.Is 和 errors.As

    1. error 接口定义 除用 panic 引发中断性错误外,还可返回 error 类型错误对象来表示函数调用状态.error 接口是 Go 原生内置的类型,它的定义如下: // $GOROOT/s ...

  8. Go 学习笔记(35)— Go 接口 interface (接口声明、接口初始化、接口方法调用、接口运算、类型断言、类型查询、空接口)

    1. 接口概念 接口是双方约定的一种合作协议.接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节.接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式.类型及结构. 接口内部存 ...

  9. TS对象类型 -- 接口(interface)

    /*** 对象类型 -- 接口*/ //在面向对象的语言中,接口(interfaces)是对行为的抽象,而具体如何行动需要类(class)去实现 //在Ts中的接口是非常灵活的概念,除了对行为抽象之外 ...

最新文章

  1. paho mqtt client调试记录
  2. R语言编程艺术(3)R语言编程基础
  3. iptv错误代码2003什么意思_IPTV部分错误代码和原因解释
  4. 微型计算机相关的英文文献,微型计算机控制系统(单片机控制系统)外文文献翻译.doc...
  5. Windows 10 支持AAC编码的方法
  6. linux qdel强制删除任务,SGE:qsub/qstat/qdel/qhost 任务投递和监控
  7. Selenium Gird下文件上传问题的解决(WebUI自动化测试)
  8. 13W 字!银四巨作:Java 进阶架构师核心手册
  9. 5.1 定积分的概念与性质
  10. 飞桨EasyDL助力资讯网站实现信息自动分类
  11. 深耕MySQL - 如何使用联合索引执行查询
  12. 判断是否是手机号码的方法
  13. border渐变 ios_iOS实现颜色渐变
  14. STM32RTC简单万年历制作
  15. 怎样来实现数据接口的加密?
  16. 聊一聊Spring中@Transactional注解及其失效的七种场景
  17. 【CreateEvent与SetEvent/ResetEvent】
  18. html使表格位于页面的右下方,在 HTML 页面中,要显示如下图所示的表格,应在下方 HTML 代码的下划线处填写()。 table border=”1” trtd =”2” 性别 /...
  19. 云服务器系统安装设置方法,云服务器系统怎么安装
  20. 计算机excel中累计如何计算,『EXCEL表中,累计计算公式如何设置』excel分段累计求和...

热门文章

  1. 何为二进制计算机语言,二进制解码时尚新青年
  2. 微分几何与广义相对论教程
  3. Java随笔记 - TCP通信的基本过程,三次握手,四次挥手
  4. python导入openpyxl_python系列之(6)Python使用Openpyxl操作Excel
  5. NodeJs+mongoose实现搜索功能
  6. tcp state linux,Linux Kernel ‘tcp_rcv_state_process()’函数拒绝服务漏洞
  7. 技术经理成长复盘-要懂一些项目管理的知识
  8. 人类无法抗拒的十大心理学效应
  9. python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun錯誤解決方案...
  10. 户外便携吹尘器方案浅析