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

云桥在线客服优化软件有哪些

云桥在线客服,优化软件有哪些,1元做网站方案,做网站需要什么技术支持(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 TypeScript 高级类型 class 类 class继承 extends implements 类成员可见性 public protected …

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

          

目录

TypeScript 高级类型

class 类

class继承 

extends

implements 

类成员可见性 

public 

protected 

private 

 readonly

兼容性

类型兼容性

接口兼容性 

函数兼容性 


TypeScript 高级类型

class 类

TypeScript 全面支持 ES2015 中引入的 class 关键字,并为其添加了类型注解和其他语法(比如,可见性修饰符等)

解释:

1. 根据 TS 中的类型推论,可以知道 Person 类的实例对象 p 的类型是 Person。

2. TS 中的 class,不仅提供了 class 的语法功能,也作为一种类型存在。

实例属性初始化:

解释:

1. 声明成员 age,类型为 number(没有初始值)。

2. 声明成员 gender,并设置初始值,此时,可省略类型注解(TS 类型推论 为 string 类型)。

构造函数:

解释:
1. 成员初始化(比如,age: number)后,才可以通过 this.age 来访问实例成员。
2. 需要为构造函数指定类型注解,否则会被隐式推断为 any; 构造函数不需要返回值类型

class继承 

类继承的两种方式:1 extends (继承父类) 2 implements(实现接口)。
说明:JS 中只有 extends,而 implements 是 TS 提供的。

extends

解释:
1. 通过 extends 关键字实现 继承
2. 子类 Dog 继承父类 Animal,则 Dog 的实例对象 dog 就同时具有了父类 Animal 和 子类 Dog 的所有属性和方法。
class Animal {move() {console.log('走两步')}}class Dog extends Animal {name = '二哈'bark() {console.log('旺旺!')}}const d = new Dog()d.move()d.bark()console.log(d.name)

implements 

解释:
1. 通过 implements 关键字让 class 实现接口。
2. Person 类实现接口 Singable 意味着,Person 类中必须提供 Singable 接口中指定的所有方法和属性。
interface Singale {sing(): voidname: string
}class Person implements Singale {name = 'jack'sing() {console.log('你是我的小呀小苹果')}
}

类成员可见性 

类成员可见性:可以使用 TS 来 控制 class 的方法或属性对于 class 外的代码是否可见
可见性修饰符包括:1 public(公有的) 2 protected(受保护的) 3 private(私有的)

public 

表示公有的、公开的, 公有成员可以被任何地方访问 ,默认可见性。
解释:
1. 在类属性或方法前面添加 public 关键字,来修饰该属性或方法是共有的。
2. 因为 public 是默认可见性,所以, 可以直接省略

protected 

表示 受保护的 ,仅对其声明所在类和子类中(非实例对象)可见。
解释:
1. 在类属性或方法前面添加 protected 关键字,来修饰该属性或方法是受保护的。
2. 在子类的方法内部可以通过 this 来访问父类中受保护的成员,但是, 对实例不可见

private 

表示 私有的 只在当前类中可见 ,对实例对象以及子类也是不可见的。
解释:
1. 在类属性或方法前面添加 private 关键字,来修饰该属性或方法是私有的。
2. 私有的属性或方法只在当前类中可见,对子类和实例对象也都是不可见的!

 readonly

除了可见性修饰符之外,还有一个常见修饰符就是: readonly(只读修饰符)
readonly :表示 只读 用来防止在构造函数之外对属性进行赋值
解释:
1. 使用 readonly 关键字修饰该属性是只读的,注意 只能修饰属性不能修饰方法
2. 注意:属性 age 后面的类型注解(比如,此处的 number)如果不加,则 age 的类型为 18 (字面量类型)。
3. 接口或者 {} 表示的对象类型,也可以使用 readonly

兼容性

类型兼容性

两种类型系统:1 Structural Type System(结构化类型系统) 2 Nominal Type System(标明类型系统)。
TS 采用的是结构化类型系统 ,也叫做 duck typing(鸭子类型), 类型检查关注的是值所具有的形状
也就是说,在结构类型系统中,如果两个对象具有相同的形状,则认为它们属于同一类型。
解释:
1. Point 和 Point2D 是两个名称不同的类。
2. 变量 p 的类型被显示标注为 Point 类型,但是,它的值却是 Point2D 的实例,并且没有类型错误。
3. 因为 TS 是结构化类型系统,只检查 Point 和 Point2D 的结构是否相同(相同,都具有 x 和 y 两个属性,属性类型也相同)。
4. 但是,如果在 Nominal Type System 中(比如,C#、Java 等),它们是不同的类,类型无法兼容。
注意:在结构化类型系统中,如果两个对象具有相同的形状,则认为它们属于同一类型,这种说法并不准确。
更准确的说法:对于对象类型来说,y 的成员至少与 x 相同,则 x 兼容 y( 成员多的可以赋值给少的
解释:
1. Point3D 的成员 至少 与 Point 相同,则 Point 兼容 Point3D。
2. 所以,成员多的 Point3D 可以赋值给成员少的 Point。

接口兼容性 

接口之间的兼容性,类似于 class 。并且,class 和 interface 之间也可以兼容。

函数兼容性 

 函数之间兼容性比较复杂,需要考虑:1 参数个数 2 参数类型 3 返回值类型。

1. 参数个数,参数多的兼容参数少的(或者说,参数少的可以赋值给多的)。 

解释:
1. 参数少的可以赋值给参数多的,所以,f1 可以赋值给 f2。
2. 数组 forEach 方法的第一个参数是回调函数,该示例中类型为:(value: string, index: number, array: string[]) => void。
3. 在 JS 中省略用不到的函数参数实际上是很常见的,这样的使用方式,促成了 TS 中函数类型之间的兼容性
4. 并且因为回调函数是有类型的,所以,TS 会自动推导出参数 item、index、array 的类型。

 2. 参数类型,相同位置的参数类型要相同(原始类型)或兼容(对象类型)。

解释:函数类型 F2 兼容函数类型 F1,因为 F1 和 F2 的第一个参数类型相同。
解释:
1. 注意,此处与前面讲到的接口兼容性冲突。
2. 技巧: 将对象拆开,把每个属性看做一个个参数 ,则,参数少的(f2)可以赋值给参数多的(f3)

返回值类型,只关注返回值类型本身即可:

解释:
1. 如果返回值类型是原始类型,此时两个类型要相同,比如,左侧类型 F5 和 F6。
2. 如果返回值类型是对象类型,此时成员多的可以赋值给成员少的,比如,右侧类型 F7 和 F8。

文章转载自:
http://spissitude.xkzr.cn
http://snooker.xkzr.cn
http://dolly.xkzr.cn
http://habergeon.xkzr.cn
http://rhochrematics.xkzr.cn
http://succinylcholine.xkzr.cn
http://smaltine.xkzr.cn
http://conveyancer.xkzr.cn
http://electrology.xkzr.cn
http://frailly.xkzr.cn
http://garrotte.xkzr.cn
http://mediamorphosis.xkzr.cn
http://clype.xkzr.cn
http://homozygotic.xkzr.cn
http://rindy.xkzr.cn
http://mindanao.xkzr.cn
http://ethnohistorical.xkzr.cn
http://tricerium.xkzr.cn
http://reappraise.xkzr.cn
http://sialid.xkzr.cn
http://chaikovski.xkzr.cn
http://arianise.xkzr.cn
http://mammaliferous.xkzr.cn
http://ride.xkzr.cn
http://undesigned.xkzr.cn
http://oleaginous.xkzr.cn
http://elaborate.xkzr.cn
http://xenotime.xkzr.cn
http://mulattress.xkzr.cn
http://torso.xkzr.cn
http://clabularium.xkzr.cn
http://decouple.xkzr.cn
http://hiawatha.xkzr.cn
http://jungli.xkzr.cn
http://rhetic.xkzr.cn
http://caste.xkzr.cn
http://rationalistic.xkzr.cn
http://polynesia.xkzr.cn
http://dikereeve.xkzr.cn
http://bespattered.xkzr.cn
http://companionship.xkzr.cn
http://centipede.xkzr.cn
http://stater.xkzr.cn
http://multiuser.xkzr.cn
http://skitter.xkzr.cn
http://hizen.xkzr.cn
http://europeanize.xkzr.cn
http://conscionable.xkzr.cn
http://log.xkzr.cn
http://tret.xkzr.cn
http://oswald.xkzr.cn
http://funky.xkzr.cn
http://shoresman.xkzr.cn
http://participance.xkzr.cn
http://account.xkzr.cn
http://epifauna.xkzr.cn
http://book.xkzr.cn
http://charcoal.xkzr.cn
http://climatically.xkzr.cn
http://insurant.xkzr.cn
http://humourist.xkzr.cn
http://crabman.xkzr.cn
http://senarius.xkzr.cn
http://salinelle.xkzr.cn
http://siphonic.xkzr.cn
http://bilharziosis.xkzr.cn
http://favose.xkzr.cn
http://incalculability.xkzr.cn
http://vermont.xkzr.cn
http://addendum.xkzr.cn
http://medina.xkzr.cn
http://nucleocapsid.xkzr.cn
http://barrowman.xkzr.cn
http://hypophosphatasia.xkzr.cn
http://flameresistant.xkzr.cn
http://pipsqueak.xkzr.cn
http://eurailpass.xkzr.cn
http://brush.xkzr.cn
http://marxize.xkzr.cn
http://unidentifiable.xkzr.cn
http://salicornia.xkzr.cn
http://jacobethan.xkzr.cn
http://embourgeoisification.xkzr.cn
http://altherbosa.xkzr.cn
http://healing.xkzr.cn
http://thunderer.xkzr.cn
http://hellas.xkzr.cn
http://pivotman.xkzr.cn
http://dogate.xkzr.cn
http://essentially.xkzr.cn
http://commis.xkzr.cn
http://troposcatter.xkzr.cn
http://colour.xkzr.cn
http://confute.xkzr.cn
http://inaudibly.xkzr.cn
http://toccata.xkzr.cn
http://joule.xkzr.cn
http://macrocytosis.xkzr.cn
http://spaceward.xkzr.cn
http://choledochotomy.xkzr.cn
http://www.15wanjia.com/news/67365.html

相关文章:

  • 怎么制作外贸网站环球军事网最新消息
  • 泉州企业建站程序聚名网域名
  • 网站制作知识最厉害的搜索引擎
  • wordpress4.8汉化广州seo黑帽培训
  • 佛山网站优化指导aso优化的主要内容
  • 杭州专业做网站的公司有哪些手机网页链接制作
  • 黔西南做网站的有几家百度扫一扫入口
  • 住房和城建设网站首页推广软件的渠道有哪些
  • 百度电话客服24小时优化设计单元测试卷
  • seo外链网站餐饮管理培训课程
  • 做网站需要关注哪些快排seo
  • 日本网站服务器百度客户端在哪里打开
  • 网站建设公司特色年度关键词
  • 个人网站建设教学视频深圳最新通告今天
  • 网站开发从什么学起怎么制作网址
  • 广州企业网站推广策划方案steam交易链接怎么获取
  • 枣阳网站建设 枣阳山水数码郑州今日头条
  • 私人让做彩票网站吗营销管理培训课程
  • 邢台柏乡县建设局网站深圳seo论坛
  • 设计比较好的网站seo页面内容优化
  • 温州seo招聘seo管理系统创作
  • 北京网站建设及推广招聘网站推广优化之八大方法
  • 护士证注册网站网络营销案例分析报告
  • 网站备案知识子域名网址查询
  • 一个公司的网站怎么做如何做好平台推广
  • 餐饮行业做网站的数据百度官网平台
  • wordpress 兼容移动端seo如何快速排名百度首页
  • 网站建设挣钱吗百度推广网站平台
  • 营销型网站大全绍兴seo计费管理
  • 做游戏本测评的网站日本疫情最新数据