U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

前端系列三十四:TS类型兼容

来源:http://www.tudoupe.com时间:2022-01-05

类型兼容性:

两种类型系统:

一、结构类型制度

2. 名义类型系统(Type系统指标)

TS采用结构化类型系统,有时称为鸭打字,其中“类型检查与数值的形式有关。”

换句话说,在结构型体系中,两种形状相同的东西被认为属于同一类型。

写法:

class Point { x: number; y: number }

class p: Point { x:number; y: number }

const p: Point = new Point2D( )

解释:

一. 点和点2D是两个不同的类别。

two. 变量 p 类型被列为点, 但其值为点2D, 没有类型问题 。

三,因为TS是一个结构化的型号系统,只是看看点和点2D结构是否相等(它们具有相同的x和y特性和相同的属性类型)。

然而,如果使用名义类型系统(如C#、Java等),它们属于不同类别,不兼容。


声称结构型系统中的两个物体如果具有相同形式,则被视为同一类型的物体是不正确的。
更准确的说法:
对象类型的 Y 成员至少与 x 相同, 使其与 x 兼容 。

写法:

class Point { x: number; y: number }
class Point3D { x: number; y: number; z: number }

const p: Point = new Point3D( )

解释:

一.Point3D成员“至少”与点相同,点兼容点3D与点相同。

因此,成员人数众多的Point3D可能会给少数成员带来价值。

接口兼容性:

与类别可比的接口之间以及类别与接口之间的兼容性

写法:

interface Point { x: number; y: number }

interface Point2D { x: number; y: number }

let p1: Point

let p2: Point2D = p1

interface Point3D { x: number; y: number; z: number }

let p3: Point3D

p2 = p3

类写法:

class Point3D { x: number; y: number; z: number }

let p3: Point2D = new Point3D( )

函数兼容性:

功能的兼容性很困难,必须考虑以下因素:1. 参数数; 2. 参数型号: 3. 返回值型号:

(1).参数个数:

相兼容程度较低的参数(或相兼容程度较低的参数可以提供更多的参数)

type F1 = ( a: number ) => void

type F2 =  ( a: number, b: number ) => void

let f1: F1

let f2: F2 = f1


const arr = [ 'a', 'b', 'c']

arr.forEach( ( ) => { })

arr.forEach( ( item ) => { } )

解释:

第一,因为因数减少而增产,F1可增产。

2. 反响函数是阵列为每种方法的第一个参数,其类型在示例中是:(数值:文字、索引:编号、编号、编号)
array: string[] ) => void

三. 在联署材料中,删除不必要的职能论据极为普遍,这种使用方式增加了TS功能类型兼容性。

四. 因为回声函数是一个类型, TS 自动显示参数项索引, 反射类型 。

(2)参数类型:

同一地点相同的参数类型(原始类型)或兼容的参数类型(对象类型)

写法:

type F1 = ( a: number ) => string

type F2 = ( a: number ) => string

let f1: F1

let f2: F2 =f1

解释:

由于F1和F2具有相同的第一个参数类型,函数类型F2与函数类型F1兼容。

interface Point2D { x: number; y: number}

interface Point3D { x: number; y: number; z: number }

typeF2 = ( p: Point2D ) => void

typeF3 = (p: Point3D)=> void

let f2: F2

let f3: F3 = f2

f2 = f3 = f3 = f2 = f3

解释:

一. 注意这与先前指定的接口有矛盾。

2. 技术:将物体分开,将每一财产作为一个参数,这样就可以将较少的参数(f2)分配给更多参数(f3)。

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息