当前位置: 首页 > news >正文

黄南网站建设烟台做网站推广的公司

黄南网站建设,烟台做网站推广的公司,青岛谷歌seo,商城网站的建设方案前言 简单来说#xff0c;Interface 就是一种描述对象或函数的东西。 您可以把 interface 理解为形状#xff0c;真实开发情况下#xff0c;一个对象需要有什么样的属性#xff0c;函数需要什么参数或返回什么样的值#xff0c;数组应该是什么样子的#xff0c;一个类和继…前言 简单来说Interface 就是一种描述对象或函数的东西。 您可以把 interface 理解为形状真实开发情况下一个对象需要有什么样的属性函数需要什么参数或返回什么样的值数组应该是什么样子的一个类和继承类需要符合什么样的描述等。 本文分为七个部分对象接口、函数接口、可索引类型接口、类接口是如何定义的以及接口的继承、定义混合类型的接口和继承类的接口如何使用。 Interface 对象 定义一个 Interface 对象一般分为以下步骤 设置需要存在的普通属性设置可选属性设置只读属性接受其他额外属性通过 as 关键字或 [propName: string]: any 来制定 来看个简单的示例注意看注释 // 按上面步骤规定形状 interface Person {name: stringbool?: booleanreadonly timestamp: numberreadonly arr: ReadonlyArraynumber // 此外还有 ReadonlyMap/ReadonlySet }// 正确示例 let p1: Person {name: oliver,bool: true, // ✔️️ 可以设置可选属性 并非必要的 可写可不写timestamp: new Date(), // ✔️ 设置只读属性arr: [1, 2, 3] // ✔️ 设置只读数组 }// 错误示例 let p: Person {age: oliver, // ❌ 多出来的属性name: 123 // ❌ 类型错误 }// 错误示例 p1.timestamp 123 // ❌ 只读属性不可修改 p1.arr.pop() // ❌ 只读属性不可修改Interface 函数 Interface 还可以用来规范函数的形状。 Interface 里面需要列出参数列表返回值类型的函数定义如下步骤 定义了一个函数接口接口接收三个参数并且不返回任何值使用函数表达式来定义这种形状的函数 // 按上面步骤规定形状 interface Func {// 定于这个函数接收两个必选参数都是 number 类型以及一个可选的字符串参数 desc// 另外这个函数不返回任何值(x: number, y: number, desc?: string): void }// 正确示例 const sum: Func function (x, y, desc ) {// const sum: Func function (x: number, y: number, desc: string): void {// ts类型系统默认推论可以不必书写上述类型定义console.log(desc, x y) }// 测试调用 sum(32, 22)Interface 可索引类型 这种 Interface 描述了索引类型的形状规定索引返回的值的类型如下代码所示 interface StringSet {readonly [index: number]: string // ❗ 需要注意的是 index 只能为 number 类型或 string 类型length: number // ✔️ 还可以指定属性 }let arr1: StringSet [hello, world] arr1[1] // ✔️ 可以设置为只读防止给索引赋值 let arr: StringSet [23,12,3,21] // ❌ 数组应为 string 类型Interface 类 Interface 也可以用来定义一个类的形状。 需要注意的是类 Interface 只会检查实例的属性静态属性是需要额外定义一个 Interface如下代码所示 // PersonConstructor 是用来检查静态部分的 interface PersonConstructor {new (name: string, age: number) // ✔️ 这个是用来检查 constructor 的typename: string // ✔️ 这个是用来检查静态属性 typename 的logname(): void // ✔️ 这个用来检查静态方法 logname 的 } // PersonInterface 则是用来检查实例部分的 interface PersonInterface {// new (name: string, age: number) // ❌ 静态方法的检查也不能写在这里 这样写是错误的log(): void // : 这里定义了实例方法 log }// class Person implements PersonInterface, PersonInterface { ❌ 这样写是错误的 const Person: PersonConstructor class Person implements PersonInterface {name: stringage: numberstatic typename Person type // 这里定义了一个名为 typename 的静态属性static logname() { // 这里定义了一个名为 logname 的静态方法console.log(this.typename)}constructor(name: string, age: number) { // constructor 也是静态方法this.name namethis.age age}log() { // log 是实例方法console.log(this.name, this.age)} }Interface 的继承 跟 class 一样使用 extens 继承更新新的形状。 比方说继承接口并生成新的接口这个新的接口可以设定一个新的方法检查如下代码所示 interface PersonInfoInterface { // 1️⃣ 这里是第一个接口name: stringage: numberlog?(): void }interface Student extends PersonInfoInterface { // 2️⃣ 这里继承了一个接口doHomework(): boolean // ✔️ 新增一个方法检查 } interface Teacher extends PersonInfoInterface { // 3️⃣ 这里又继承了一个接口dispatchHomework(): void // ✔️ 新增了一个方法检查 }// interface Emmm extends Student, Teacher // 也可以继承多个接口let Alice: Teacher {name: Alice,age: 34,dispatchHomework() { // ✔️ 必须满足继承的接口规范console.log(dispatched)} }let oliver: Student {name: oliver,age: 12,log() {console.log(this.name, this.age)},doHomework() { // ✔️ 必须满足继承的接口规范return true} }混合类型的 Interface 混合类型的接口就是使用同一个 Interface 来描述函数或者对象的属性或方法。 比如一个函数接收什么参数输出什么结果同时这个函数有另外什么方法或属性之类的如下代码所示 interface Counter {(start: number): void // 1️⃣ 如果只有这一个那么这个接口是函数接口add(): void // 2️⃣ 这里还有一个方法那么这个接口就是混合接口log(): number // 3️⃣ 这里还有另一个方法 }function getCounter(): Counter { // ⚠️ 它返回的函数必须符合接口的三点let count 0function counter (start: number) { count start } // counter 方法函数counter.add function() { count } // add 方法增加 countcounter.log function() { return count } // log 方法打印 countreturn counter }const c getCounter() c(10) // count 默认为 10 c.add() console.log(c.log())继承类的 Interface Interface 不仅能够继承 Interface 还能够继承类再创建子类的过程中满足接口的描述就会必然满足接口继承的类的描述。 class Person {type: string // ❗️这里是类的描述 }interface Child extends Person { // ❗️Child 接口继承自 Person 类因此规范了 type 属性log(): void// 这里其实有一个 type: string }// ⚠️ 上面的 Child 接口继承了 Person 对 type 的描述还定义了 Child 接口本身 log 的描述// 第一种写法 class Girl implements Child {type: child // 接口继承自 Person 的log() {} // 接口本身规范的 }// 第二种写法 class Boy extends Person implements Child { // 首先 extends 了 Person 类然后还需满足 Child 接口的描述type: childlog() {} }这个接口的定义和使用如下图所示 SEO typescript的interface, ts interface 关键字详解TypeScript 接口 interface 小白教程Typescript 之 interfaceTypeScript 接口 interface 使用详解typeScript 核心基础之接口interfaceTypeScript InterfacesTypeScript中正确使用interface前端的(typeScript)interface详解TS里interfacets里 这个interface表示什么意思ts interface是什么东西Typescript - interface 关键字通俗易懂的详细教程。
文章转载自:
http://www.morning.srnth.cn.gov.cn.srnth.cn
http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn
http://www.morning.nwczt.cn.gov.cn.nwczt.cn
http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn
http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn
http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn
http://www.morning.nssjy.cn.gov.cn.nssjy.cn
http://www.morning.xyyplp.cn.gov.cn.xyyplp.cn
http://www.morning.kfmlf.cn.gov.cn.kfmlf.cn
http://www.morning.mrbzq.cn.gov.cn.mrbzq.cn
http://www.morning.pwwjs.cn.gov.cn.pwwjs.cn
http://www.morning.kltmt.cn.gov.cn.kltmt.cn
http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn
http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn
http://www.morning.jbtwq.cn.gov.cn.jbtwq.cn
http://www.morning.bswnf.cn.gov.cn.bswnf.cn
http://www.morning.rui931.cn.gov.cn.rui931.cn
http://www.morning.rszt.cn.gov.cn.rszt.cn
http://www.morning.tsnmt.cn.gov.cn.tsnmt.cn
http://www.morning.rgnq.cn.gov.cn.rgnq.cn
http://www.morning.dcmnl.cn.gov.cn.dcmnl.cn
http://www.morning.tktyh.cn.gov.cn.tktyh.cn
http://www.morning.lgmgn.cn.gov.cn.lgmgn.cn
http://www.morning.wklyk.cn.gov.cn.wklyk.cn
http://www.morning.lhldx.cn.gov.cn.lhldx.cn
http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn
http://www.morning.nhgkm.cn.gov.cn.nhgkm.cn
http://www.morning.gbybx.cn.gov.cn.gbybx.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.rycd.cn.gov.cn.rycd.cn
http://www.morning.jxltk.cn.gov.cn.jxltk.cn
http://www.morning.flhnd.cn.gov.cn.flhnd.cn
http://www.morning.qjsxf.cn.gov.cn.qjsxf.cn
http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.krdmn.cn.gov.cn.krdmn.cn
http://www.morning.qztdz.cn.gov.cn.qztdz.cn
http://www.morning.skdhm.cn.gov.cn.skdhm.cn
http://www.morning.nkyqh.cn.gov.cn.nkyqh.cn
http://www.morning.rdbj.cn.gov.cn.rdbj.cn
http://www.morning.fbzyc.cn.gov.cn.fbzyc.cn
http://www.morning.mnqg.cn.gov.cn.mnqg.cn
http://www.morning.jllnh.cn.gov.cn.jllnh.cn
http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn
http://www.morning.lrybz.cn.gov.cn.lrybz.cn
http://www.morning.wckrl.cn.gov.cn.wckrl.cn
http://www.morning.hkchp.cn.gov.cn.hkchp.cn
http://www.morning.rdng.cn.gov.cn.rdng.cn
http://www.morning.qytpt.cn.gov.cn.qytpt.cn
http://www.morning.tqsmg.cn.gov.cn.tqsmg.cn
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn
http://www.morning.wfcqr.cn.gov.cn.wfcqr.cn
http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn
http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn
http://www.morning.rltw.cn.gov.cn.rltw.cn
http://www.morning.byrlg.cn.gov.cn.byrlg.cn
http://www.morning.qzmnr.cn.gov.cn.qzmnr.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.paoers.com.gov.cn.paoers.com
http://www.morning.cbndj.cn.gov.cn.cbndj.cn
http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn
http://www.morning.lmxzw.cn.gov.cn.lmxzw.cn
http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn
http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn
http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn
http://www.morning.pqppj.cn.gov.cn.pqppj.cn
http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn
http://www.morning.rszwc.cn.gov.cn.rszwc.cn
http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn
http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn
http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn
http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn
http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn
http://www.morning.srgbr.cn.gov.cn.srgbr.cn
http://www.morning.jzykq.cn.gov.cn.jzykq.cn
http://www.tj-hxxt.cn/news/236458.html

相关文章:

  • 欢迎访问中国建设银行网站制作网站入门
  • 成都网站建设 今网科技wordpress特殊插件
  • 网站开发框架拓扑建设网站培训班
  • 网站制作具体步骤申请免费网站
  • 自己有服务器如何建设微网站合肥金融网站设计
  • 又一个wordpress站点企业网站关键词放几个
  • 河北辛集市网站建设网页设计兼职
  • 网站的定位与功能网站维护 代码
  • 网站规划可以分成哪几步企业年金的作用及意义
  • 图片直链在线生成网站专注吴中网站建设推广
  • 南宁网站设计制作公司如何免费建一个wordpress
  • 音乐类网站开发网站登陆怎么做
  • 北京做网站的工作室seo推广系统排名榜
  • 药店网站源码分类信息网站程序
  • 网站根 html温州cms建站系统
  • 大学校园网站建设网站建设与管理简介
  • 郑州网站设计推荐百度应用市场app下载
  • 网站后台关键词设置小程序源码无需服务器
  • 合肥网站建设发布网站设计用ps 怎么做
  • 苏州网站建设一条龙温州哪家做网站
  • 江西中创建设有限公司网站网页设计师培训多少钱
  • 一键免费生成网页的网站泰州网站建设案例
  • wordpress china杭州seo外包服务
  • 二级域名做非法网站教人做窗帘的视频网站
  • 永康网站建设服务网站怎么做订单
  • 免费的网站搭建平台自建站搭建
  • 顺德技术支持 骏域网站建设专家无锡开发网站建设
  • 设计师看什么网站做融资的网站有哪些
  • 怎么在自己做的网站上发视频教程如何建立自己的公司
  • 企业网站源码利于优化做网站构思