范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

为何要入坑TypeScript?前端有完没完?

  Vue3 一个很大特点就是能够更好的支持 typeScript 。TypeScript 有啥优点?为什么需要使用它呢?这篇文章带你简单了解一下 TypeScript 是什么?
  本文将从两个不同的角度带你走进TypeScript。 以下简称"TS".认识 TS用 TS 有什么好处?TS的发展前景如何?一、认识 TypeScript
  TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
  TypeScript 是一个编译到纯 JS 的有类型定义的 JS 超集。
  TS 遵循当前以及未来出现的 ECMAScript 规范。TS 不仅能兼容现有的 JavaScript 代码,它也拥有兼容未来版本 JavaScript 的能力。大多数 TS 的新增特性 都是基于未来的 JavaScript 提案,这意味着许多 TS 代码在将来很有可能会变成 ECMA 的标准。
  2009 年微软公司提出了 TypeScript 的第一个版本,是由 C# 之父 Anders Hejlsberg 领导开发的, 了解 C# 的同学学起来就幸福了。二、TS 有什么好处?
  TypeScript能从可维护性、健壮性等方面提高代码质量。
  说到代码质量,大家有什么提高的方法呢? 对于长期迭代的项目,开发和维护的成员会有很多,团队成员水平,风格会有差异,还具有流动性。代码层面上统一规范可以避免一些问题,比如 eslint 等工具,我们公司的项目就使用了 eslint 统一规范, 不能通过编译不能上线。
  常见的代码检查工具:JsHint / JsLint / EsLint
  语法级别约束:使用未定义变量,括号未闭合等; 规范/风格级别约束:!= ===, 缩进,未使用的变量, parseInt(第二个参数), (兼容性)
  Eslint 这些语法检查的能提前检查出来这些错误,减少了调试的成本,减少了线上bug。
  但是还有不足,比如一些参数类型,个数的错误检测不到。
  谨慎的程序员会做个判空处理等,来避免这样的错误。如果未处理,在复杂的线上环境中,程序就有可能会崩溃。
  而 TS 可以帮助我们避免这些问题,从而提高代码健壮性, 因为 TS 是强类型的语言,下面看下它怎样约束类型的。
  类型注解let isDone: boolean = false;
  变量后面跟的冒号,后面的类型就是,这个变量的类型注解。类型的注解是可选的,不加就变成了 JS,因为 TS 设计目标就是:兼容 JS,减少 js 迁移 TS 的成本。
  类型
  描述
  Boolean
  与 JS 相同
  Number
  与 JS 相同
  String
  与 JS 相同
  Array
  与 JS 相同; 增加了泛型数组, 元组(Tuple)
  Enum
  enum 类型是为了给一个数字集合更友好地命名
  any
  any 类型可以表示任意JavaScript值
  void
  void 就是 any 的对立面,即所有类型都不存在的时候。你会在一个没有返回值的函数看到它
  详细用法请参考官网。
  TS 另外一个特点是对面向对象思想进行了增强
  接口(Interface)
  维基百科对OOP中接口的定义是:
  在面向对象的语言中,术语 interface 经常被用来定义一个不包含数据和逻辑 代码但用函数签名定义了行为的抽象类型。
  实现一个接口可以被看作是签署了一份协议。接口好比是协议,当我们签署(实现)它时,必须遵守它的规则。接口的规则是方法和属性的签名,我们必须实现它们。
  当我们在程序设计的时候,基类中的所有方法都不用去实现,就可以使用接口来代替类,提高延展性。
  格式:interface 接口名{       方法的声明:不需要public和其他修饰符,默认是public } 接口只能被实现,不能实例化。当类实现接口时,必须将接口当中所有的方法全部实现。接口可以多实现,在一定程度上弥补了类不能多继承的缺陷,实现多个接口,接口之间使用逗号隔开。
  泛型
  泛型用来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件。使用泛型类型可以最大限度的重用代码,保护类型的安全降低了强制转换操作的成本或风险可以对泛型类进行约束以访问特定数据类型的方法
  这里就不贴代码,详细用法请参考官网。三、TS的发展前景如何呢?
  纵向对比
  列举几个跟它属性很相似的几位,他们都是需要编译的,编译结果都是js.CoffeeScript 目的是让Js更简洁,优美,提高可读性,但没有像TS一样利用类型检测提高代码健壮性,而且自从有了ES6,CoffeeScript在业界的声音几乎消失了。Dart 是2011年10月谷歌推出的新一代web编程语言,它的优势是Chrome支持,将在预版本里支持Dart. 将在V8引擎融合Dart VM虚拟机来运行 Dart 程序可以提升性能,但是一直是个提案,稳定版现在不支持,而且其他流浏览器都不支持。另外,用 Dart 开发的人很少,社群也没有什么声音,不过最近Google最近推出的了移动端解决方案Flutter(他是跟Facebook的RN,阿里的Weex一个维度的技术),被国内很多团队认可,Flutter程序需要用Dart编写的,以后可以继续关注。Flow是Facebook的自家规范, 不知道大家见过没flow格式代码,Facebook开源的项目很多用Flow写的,比如React源码 -> 切换Chrome,
  RN的源码也有一些模块是Flow格式的,但是也有TS格式的。
  最新版的React Native中的官方项目已经改用Flow了。 -》切换Sublime
  TS周边生态、文档完整性、社区资源方面胜过Flow。AssemblyScript呢,不是TS的对手,可以说是TS的兄弟,在接下来,我会结合TS生态和发展一起介绍。
  基于TS开发的项目越来越多angular2ant-designVSCodebabel7.0WebAssembly
  ……
  WebAssembly 与 TS
  随着Web应用变得更多更复杂,js 渐渐暴露出了问题:语法太灵活导致开发大型 Web 项目困难;性能不能满足一些场景的需要。
  微软的 TypeScript 通过为 JS 加入静态类型检查来改进 JS 松散的语法,提升代码健壮性。
  对于性能问题,有 Google 的 Dart 和 Firefox 的 asm.js ,二者不被其他浏览器运营商认可,且语言学习成本高。
  为解决这个现状,由 Google , Microsoft , Mozilla , Apple 等几家大公司合作发起的一个关于 面向 Web 的通用二进制和文本格式的项目 —> WebAssembly。
  WebAssembly 并不是一门编程语言,而是一份字节码标准。
  可以简单把它理解为浏览器的汇编语言。字节码体积小,下载快无需解释执行底层代码无兼容性问题
  四大浏览器巨头很少一起做项目的, 所以它非常被业内看好。
  它跟 TS 有什么关系呢?上一小段有提到 AssemblyScript。
  目前能编译成 WebAssembly 字节码的高级语言有:
  AssemblyScript, cc++,Kotlin,Golang, Rust.
  AssemblyScript 语法和 TypeScript 一致,对前端来说学习成本低,为前端编写 WebAssembly 最佳选择。四、总结
  TypeScript是一个编译到纯JS的有类型定义的JS超集。易于js程序员学习提高代码质量发展前景好
  读了这么多,何不动手尝试一下呢?TS的中文文档非常完善,另外还可在线编译 -> Playground. 本地调试的话,很简单,npm i typescirpt, 使用 tsc 命令编译就好,或者使用 VScode 编辑器, 自带 TS 的提示。
  希望本文能对你有帮助,谢谢阅读。

拿什么终结一些APP上船容易下船难?来源中工网工人日报原标题拿什么终结一些APP上船容易下船难?张淳艺据工人日报报道,12月14日,中国消费者协会发布50款APP账号注销及自动化推荐退订测评报告。在是否可以顺利注销A新能源发电和新能源汽车行业2022年投资策略(报告出品方作者万联证券,周春林)1新能源发电海外政策驱动加码,国内双碳顶层构建完成全球凝聚减碳共识,新能源高速发展势在必行。今年11月13日,COP26(联合国气候变化框架公约第11月新能源重卡大涨668,再爆纪录南方财经12月15日电,根据第一商用车网掌握的最新数据,今年11月份,国内新能源重卡市场共计销售1852辆,继910两月连续交出千辆级表现后,月销量纪录再度被刷新,销量环比增长45联想抢先首发骁龙8芯片,首发价不到3000,国产厂家有压力了吗?谢谢邀请我的回答是不会,理由如下一联想品牌,尤其联想手机品牌的口碑重塑难度大。在中华酷联时代,联想一度被寄予厚望,出货量也曾有过辉煌,我的第一二款智能机手机用的就是联想,因为智能机壹现场北京首例比特币挖矿案宣判投资者955万美元收益被认定无效一个比特币目前市价3万余美元,投资1000万一年就能挖到近300个因巨大的利益诱惑,网络虚拟货币比特币吸引了不少逐利者蜂拥而上,开启了通过专用矿机计算生产虚拟货币的挖矿活动。然而,今年大家最关心的小屏安卓机,小米12mini。终于等到你大家最关心的小屏安卓机应该是魅族18,遗憾就是上了骁龙888。近日小米小屏奇迹12mini曝光,详细参数价格以及发售时间一下子全曝出来了,不管真假,先来看看配置如何。爱慕爱慕爱慕1vivoX70t(8GB256GB5G版)参数大全vivoX70tvivoX70t(8GB256GB5G版)价格3499元上市时间2021年12月12日屏幕尺寸6。56英寸分辨率23761080屏幕占比92。76HDR技术HDR14000亿到3万亿美元,库克成为最顶级打工人,网友不比乔布斯差转眼,库克接任苹果公司CEO已经十年了!十年意味着什么?是一个打工人成长为社会的中流砥柱?是一家公司经历了从创立到辉煌再到没落的整个周期?十年时间可以有无限可能。纵观苹果,如今在库手机自带的ToF传感器可检测针孔摄像头通信1华为将5G时延从20ms降至1ms据报道,近日,在IMT2020(5G)推进组的组织下,华为以1ms时延顺利完成了低时延高可靠(URLLC)技术实验室测试。测试结果表明,采用小米造车新进展1!新能源汽车市场后浪扎堆传统车企掺一脚导读昨天,小米公关总经理王化发文否认双线造车规划。自小米等后浪宣布入场造车以来,新能源汽车领域就一直火热非常,备受外界关注,且随着销量日渐提升,各车企也纷纷转型,力求抓住新的发展机英国停用华为5g,这对华为有何影响?当地时间7月14日,英国政府作出决定,将从2020年12月31日起停止购买新的华为设备,除此之外,英国5G网络中目前所使用的华为设备必须在2027年前拆除。看到英国这种做法,其实很
华为nova9曝光或下月发布三星S22系列屏幕规格泄露华为nova9系列或9月发布Hello,大家好,这里是科技V报,我是龙二Pro,不久前,华为正式发布了P50系列旗舰,比较遗憾的是,在MG多轮的制裁下,该机全系仅支持4G网络,并没你信吗?行驶32万公里后的特斯拉电池仅衰减10对于电动车主来说,电池的衰减会直接影响到我们的用车成本以及用车体验,这个问题也是我们普通消费者对电动汽车最普遍关心的一个问题,随着用车时间越长电池的寿命也逐渐下降。近日,特斯拉重申真金不怕火炼嘉华龙马ICC1000激光打印机CPU诞生记你是否认为,ICC1000是一款最近两年内借着信创国产化浪潮而推出的打印机芯片?但其实不是。ICC1000是嘉华龙马在2012年量产的激光打印机专用CPU,并于同年正式出货,至今还独家时代被终结!腾讯千亿业务或将瓦解,马化腾多年的布局白费了腾讯是国内最大的互联网企业,与阿里巴巴堪称中文互联网界的泰山北斗,两大企业分别围绕着电商和社交做大做强,并通过收购和投资建立了深厚的护城河。曾经有创业者表示,在国内互联网行业创业,2款超级电摩来了,最高时速102kmh,最大续航可达220公里如今两轮电动车的发展逐渐出现了分化,中低端电摩主打的是经济实用,而高端电摩则更注重性能表现以及安全智能。在高端电摩领域,新日GF6和大阳的E5则算是其中的佼佼者。01新日GF6这是酒桌文化他们为什么想把别人灌醉?阿里巴巴公布女员工被侵犯处理决定,同时宣称仍旗帜鲜明地反对丑陋的酒桌文化,这不分性别,无论是客户或主管提出这样的要求,我们的员工都可以明确拒绝。酒桌文化容易出问题,是因为酒桌是一个倍思87W氮化镓二合一充电宝上架搞定所有充电需要近日,小米有品商城上架了一款名为倍思87W能量堆的氮化镓二合一充电宝产品。根据官方介绍,倍思87W能量堆拥有1000mAh容量电量储备。搭载BPSII充电技术,AC模式下能够根据电飞利浦平板M10仿书屏,学气十足继上周推出飞利浦平板M9X后,京华飞利浦平板系列再次重磅推出拥有别致竖屏体验的M10。通过别具一格的竖屏设计,不仅能为使用者带来更为舒适自然的阅读体验,也能够凭借自身优势,兼容更多港股恒生科技指数暴跌,发生了什么?A股或将迎来新一轮剧烈震荡近期港股的恒生科技指数暴跌,从今年的6月份开始已经连续下跌了几十个点,主要的原因有两个,第一个是因为反垄断对互联网平台的波及,第二个原因就是恒生科技指数的估值下杀并未完成。那么在这ARM的应用领域广泛,来越多的科技巨头开始拥抱ARM图一ARM概述ARM即AdvancedRISCMachines的简称。ARM是一种RISCMPUMCU的体系结构,是AdvancedRISCMachineLimited公司以IPCo工业互联网的六大应用模式近年来,新一轮的科技革命和产业变革深入发展,5G工业互联网大数据中心等新型基础设施建设在加快推进。工业行业在多元的行业生态中更应加快数字化网络化智能化的改造。以5G为基础,开辟广阔