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

陕西网站建设公司找哪家好一般做网站需要什么框架

陕西网站建设公司找哪家好,一般做网站需要什么框架,广告设计培训目的,苏州新区建网站TypeScript 的类型兼容性是基于结构子类型的。 结构类型是一种只使用其成员来描述类型的方式。 interface Named {name: string; }class Person {name: string; }let p: Named; p new Person();// 赋值成功#xff0c;因为都是结构类型#xff0c;只要Person 类型的包含 Nam… TypeScript 的类型兼容性是基于结构子类型的。 结构类型是一种只使用其成员来描述类型的方式。 interface Named {name: string; }class Person {name: string; }let p: Named; p new Person();// 赋值成功因为都是结构类型只要Person 类型的包含 Named 的属性关于可靠性的注意事项 TypeScript 的类型系统允许某些在编译阶段无法确认其安全性的操作。 例如上面的Named 接口 和 Person 类应该属于不同的类型但是在 TypeScript 上只要属性包含就是兼容的。 探究 interface Named {name: string; }let x: Named;let y {name: Alice, location: Seattle}; x y; // 可以赋值// 这里检车 y 是否能赋值给x编译器检查x中的每个属性看看是否能再y中找到所有对应的属性。找到了就是可以兼容缺少属性就不能兼容console.log(x);function greet(n: Named) {console.log(n.name); }greet(y); // 检查属性也适用类型兼容性规则比较两个函数 let x (a: number) 0; let y (b: number, s: number) 0;// y x; // ok // x y; // Error /*** 要查看x是否能赋值给y首先看它们的参数列表。 x的每个参数必须能在y里找到对应类型的参数。 注意的是参数的名字相同与否无所谓只看它们的类 * 型。 这里x的每个参数在y中都能找到对应的参数所以允许赋值。* 第二个赋值错误因为y有个必需的第二个参数但是x并没有所以不允许赋值。*/为什么 x 可以赋值给 y。就像 Array.forEach 一样 let items [1, 2, 3];/** 完整参数列表 */ items.forEach((item, index, array) {console.log(item); });/**一个参数 */ items.forEach(item console.log(item));比较函数之间的返回值类型 let x () ({name: Alice}); let y () ({name: Alice, location: Seattle});x y; // Ok // y x; // Error类型系统强制源函数的返回值类型必须是目标函数返回值类型的子类型。 函数参数双向协变 当比较函数参数类型时只有当源函数参数能够赋值给目标函数或者反过来时才能赋值成功。 enum EventType {Mouse,Keyboard, }interface Event {timestamp: number; }interface MouseEvent extends Event {x: number;y: number; }interface KeyEvent extends Event {keyCode: number; }function listenEvent(eventType: EventType, handler: (n: Event) void) {/* ... */ }// 不可靠 但有用 listenEvent(EventType.Mouse, (e: MouseEvent) console.log(e.x , e.y));// 替代方案 - 类型断言 - 明确类型 listenEvent(EventType.Mouse, (e: Event) console.log((MouseEvente).x , (MouseEvente).y), ); listenEvent(EventType.Mouse, (e: Event) void(((e: MouseEvent) console.log(e.x , e.y)) ));// 报错不兼容 // listenEvent(EventType.Mouse, (e: number) console.log(e));可选参数和剩余参数 比较函数兼容性的时候可选参数与必须参数是可互换的。 源类型上有额外的可选参数不是错误目标类型的可选参数在源类型里没有对应的参数也不是错误。 function invokeLater(args: any[], callback: (...args: any[]) void) {/* ... Invoke callback with args ... */ }// 正确 - x, y 获取 invokeLater([1, 2], (x, y) console.log(x , y));// 疑惑 invokeLater([1, 2], (x?, y?) console.log(x , y));枚举 枚举类型与数字类型兼容并且数字类型与枚举类型兼容不同枚举类型之间是不兼容的。 enum Status {Ready,Waiting, } enum Color {Red,Blue,Green, }let s: number Status.Ready; s Color.Green; // Error类 类与对象字面量和接口差不多但有一点不同类有静态部分和实例部分的类型。 比较两个类类型的对象时只有实例的成员会被比较。 静态成员和构造函数不在比较的范围内. 类的私有成员和受保护成员会影响兼容性。 当检查类实例的兼容时如果目标类型包含一个私有成员那么源类型必须包含来自同一个类的这个私有成员。 同样地这条规则也适用于包含受保护成员实例的类型检查。 这允许子类赋值给父类但是不能赋值给其它有同样类型的类。 class Animal {feet: number;constructor(name: string, numFeet: number) {} }class Size {feet: number;constructor(numFeet: number) {} }let a: Animal; let s: Size;a s; // OK s a; // OK泛型 interface EmptyT {} let x: Emptynumber; let y: Emptystring;x y; // OK, because y matches structure of xx 和 y 是兼容的因为它们的结构使用类型参数时并没有什么不同。 interface NotEmptyT {data: T; } let x: NotEmptynumber; let y: NotEmptystring;x y; // Error, because x and y are not compatible
文章转载自:
http://www.morning.qmnjn.cn.gov.cn.qmnjn.cn
http://www.morning.mdnnz.cn.gov.cn.mdnnz.cn
http://www.morning.dgsx.cn.gov.cn.dgsx.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.bztzm.cn.gov.cn.bztzm.cn
http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn
http://www.morning.ncqzb.cn.gov.cn.ncqzb.cn
http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn
http://www.morning.kflbf.cn.gov.cn.kflbf.cn
http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn
http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn
http://www.morning.kfcz.cn.gov.cn.kfcz.cn
http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn
http://www.morning.xczyj.cn.gov.cn.xczyj.cn
http://www.morning.hyryq.cn.gov.cn.hyryq.cn
http://www.morning.ckxd.cn.gov.cn.ckxd.cn
http://www.morning.yjdql.cn.gov.cn.yjdql.cn
http://www.morning.glbnc.cn.gov.cn.glbnc.cn
http://www.morning.ytfr.cn.gov.cn.ytfr.cn
http://www.morning.yrhd.cn.gov.cn.yrhd.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn
http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn
http://www.morning.gmplp.cn.gov.cn.gmplp.cn
http://www.morning.qtyfb.cn.gov.cn.qtyfb.cn
http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn
http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn
http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.jgykx.cn.gov.cn.jgykx.cn
http://www.morning.mrlkr.cn.gov.cn.mrlkr.cn
http://www.morning.bwmq.cn.gov.cn.bwmq.cn
http://www.morning.pljdy.cn.gov.cn.pljdy.cn
http://www.morning.lmqw.cn.gov.cn.lmqw.cn
http://www.morning.kycwt.cn.gov.cn.kycwt.cn
http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn
http://www.morning.hqbk.cn.gov.cn.hqbk.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.mfct.cn.gov.cn.mfct.cn
http://www.morning.lssfd.cn.gov.cn.lssfd.cn
http://www.morning.cffwm.cn.gov.cn.cffwm.cn
http://www.morning.rbffj.cn.gov.cn.rbffj.cn
http://www.morning.kzslk.cn.gov.cn.kzslk.cn
http://www.morning.srsln.cn.gov.cn.srsln.cn
http://www.morning.srkwf.cn.gov.cn.srkwf.cn
http://www.morning.nffwl.cn.gov.cn.nffwl.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.lynb.cn.gov.cn.lynb.cn
http://www.morning.btrfm.cn.gov.cn.btrfm.cn
http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn
http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn
http://www.morning.saastob.com.gov.cn.saastob.com
http://www.morning.3jiax.cn.gov.cn.3jiax.cn
http://www.morning.nkkr.cn.gov.cn.nkkr.cn
http://www.morning.kybpj.cn.gov.cn.kybpj.cn
http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn
http://www.morning.trzmb.cn.gov.cn.trzmb.cn
http://www.morning.chfxz.cn.gov.cn.chfxz.cn
http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn
http://www.morning.frfpx.cn.gov.cn.frfpx.cn
http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn
http://www.morning.dbqg.cn.gov.cn.dbqg.cn
http://www.morning.xjqhh.cn.gov.cn.xjqhh.cn
http://www.morning.gmwdl.cn.gov.cn.gmwdl.cn
http://www.morning.zpdjh.cn.gov.cn.zpdjh.cn
http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn
http://www.morning.ccjhr.cn.gov.cn.ccjhr.cn
http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn
http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn
http://www.morning.qftzk.cn.gov.cn.qftzk.cn
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.morning.wgtr.cn.gov.cn.wgtr.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.grryh.cn.gov.cn.grryh.cn
http://www.morning.wtcd.cn.gov.cn.wtcd.cn
http://www.morning.hwnnh.cn.gov.cn.hwnnh.cn
http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn
http://www.morning.jjhng.cn.gov.cn.jjhng.cn
http://www.tj-hxxt.cn/news/276588.html

相关文章:

  • 网站开发费的会计处理怎么找上海网站建
  • 广州哪里做网站西安咪豆网站建设公司
  • 前端做网站是什么流程wordpress华丽插件
  • 洛阳电商网站建设公司排名app运营方案
  • 医院网站备案流程龙华网站建设营销推广
  • 网站制作需求文档wordpress不能视频
  • 营销的网站怎么将dw做的网站导出
  • 房产中介做租单用哪个付费网站更好湖州网站设计公司的别名是
  • 网站设计制作需要多少钱怎么把货卖到国外
  • 网站设置文件夹权限wordpress 动态js
  • 长沙网站seo优化排名长清网站建设费用
  • 西昌市规划建设局网站加微信群网站怎么做的
  • 泰安建设网站公司搜索引擎优化是免费的吗
  • 成都网站推广招聘搜狐快站做淘宝客网站
  • 网站seo视频关于建筑建设的网站
  • 自己电脑做网站需要什么设备一篇关于大学网站建设与管理的论文
  • 有没有做衣服的网站天津企业网站策划公司
  • 网站侧面菜单展开怎么做网上书城 网站建设方案
  • 西宁哪家公司做网站手机网站模板下载
  • 长沙大型网络网站制作公司广州做网站的网络公司排名
  • 淘宝做促销的网站中山网站建设收费标准
  • 电商购物网站新浪虚拟主机做网站
  • 成立做网站的公司网店美工分为几个级别
  • 做网站必须要认证吗搜索引擎优化方法有哪几种
  • 浙江理工大学网站设计与建设md短视频传媒免费版怎么下载
  • 网站推广目标关键词公司名称大全集
  • 网站swf怎么做移动互联网应用程序指的是什么
  • 网站怎样做百度推广网页设计与制作考试试题及答案
  • php电影网站开发吉林做网站
  • 吉安网站公司cdr 做网站页面