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

为何要入坑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 的提示。
  希望本文能对你有帮助,谢谢阅读。

表面光鲜,实际难言之隐观亚马逊年度卖家峰会的感想亚马逊全球开店跨境峰会2022年1月11日在线上召开了,作为做了快4年的卖家,我想记录以下我的感受,也是写给那些跃跃越试的新卖家,希望不要被一面之词影响判断。1。任何官方活动肯定都高性能UNT401H机顶盒,免拆刷机,从此不用交月租,真香需要准备的东西一个8g的U盘。需要一台电脑。机顶盒和电脑连到同一个网络。下载好对应类型刷机包(找我)开始刷机机顶盒连上网,找出IP地址。反复按机顶盒遥控器f2和f3,找到adb开头华为9千元4G手机供不应求,小米高端之路却异常艰难,差距在哪?产量!假如小米也每个月只卖几百台高端型号手机,抢的肯定和华为那个9000元4G手机一样火爆!物以稀为贵嘛!只要在量上限制住了,什么价钱都能炒得出来!华为现在就是要让有限的芯片数量支你认为小米MIX4是小米最失败的手机吗?小米MIX4降价快,降价猛是事实,但仅仅以保值率低就说小米MIX4说是小米最失败的手机那MIXFold第一个不答应,毕竟这手机也是跳水小王子,从9999跌到6999,几个月时间就降如何看待室友想买苹果手机,1年后换了二手安卓又说iPhone不好?每日问答之我室友说,这位同学可能是被室友气到了,问我怎么看待说了两个学期要买苹果最后换个二手安卓又说苹果不好的人?设想一下这个场景,你的室友想换新手机,前面一整年都在念叨苹果手机的想买小米12Pro,但网上好多人说手机不好。有没有人已经买了,玩吃鸡发烫不?这年头还有在网上看评论买手机的?小米手机哪代刚出来不是被gg网上黑的体无完肤,但结果就是,黑子们越黑小米,小米销量越好,黑小米是工作,是政Z正确扯远了,小米12pro是目前已发售的复星医药与英矽智能战略合作,推进人工智能驱动的多靶点药物研发1月11日,复星医药(600196。SH,02196。HK)与端到端人工智能驱动的药物研发公司英矽智能(InsilicoMedicine)宣布达成合作协议,在全球范围内共同推进多个1MORE活塞豆降噪版体验功能全面经典再现作为小米生态链的首家公司,1MORE曾打造过脍炙人口的活塞耳机,亲民的售价和皮实耐用的特性,想必许多老粉都印象深刻。而此刻,1MORE推出了2022的开年之作活塞豆降噪版,在延续了视频剪辑app软件开发需要实现哪些功能在剪辑视频方面,很多人都是比较喜欢便捷的方式来进行,相较于比较专业的办公软件或者是PR等软件而言,线上的APP软件可以实现更加便捷的视频剪辑渠道。针对用户在进行操作方面的个性化需求喵喵机家用学习打印机F1体验特殊功能让它冲击传统打印机市场有没有为打印一张身份证跑几条街的经历,尤其还要回去排队交资料?有没有因为孩子学习三天两头去复印店排队,要命的是刚好轮到自己时墨盒干了。有没有觉得让孩子在平板上做题目始终没有让他在纸浅谈自动驾驶时代下功能安全的意义2020年,国家发改委工业和信息化部等11部委联合印发智能汽车创新发展战略。战略提出,到2025年,中国标准智能汽车体系将基本形成实现有条件自动驾驶智能汽车规模化生产高度自动驾驶智
Facebook公司扩大其海底电缆项目彭博社报道,Facebook公司将扩大其非洲的巨型电缆项目2Africa,增加尼日利亚安哥拉塞舌尔和科摩罗等国的连接,使其覆盖范围扩大至26个国家35个连接点。该项目将与中国移动M蓝牙耳机怎么选这几款耳机高性价比音质也超乎想象都值得你入手现在人们出门都习惯戴一款蓝牙耳机,不但可以让你享受到优美的音乐,而且可以让你更加的靓丽,有个性,但是,现在的耳机市场良莠不齐,各价位各性能的耳机随处可见,给各位去选择合适的耳机带来适合学生党的蓝牙耳机有哪些,开学季值得买的蓝牙耳机蓝牙耳机可能是我们除了手机之外,人们用到最多的电子产品了,尤其是耳机孔取消以后。开学季即将来临,学生党该怎么选择适合自己的蓝牙耳机呢?接下来就分享一下适合学生党平价又好用的无线蓝牙五问百度进入彩电业一头扎进红海,准备好了吗?8月18日,百度在其百度世界大会2021上发布了V86小度智能巨屏电视,成为彩电行业的又一个新兵。这款产品本身并没有什么业界独步的创新功能尽管搭上了小度的名号,但这款电视从里到外都当一款音质出色TWS耳机里再装个AirTag,果粉直呼真香Hi,大家吼,我mars208又回来了。今天分享一下贝尔金SoundFORMFreedom耳机,这是首批支持苹果FindMy功能的第三方耳机。苹果在今年4月底的春季新品发布会上推出仅售199元的倍思E8蓝牙耳机,值不值得买?TWS(无线蓝牙耳机)真的火了,各手机厂商拉着传统耳机厂打得有来有回,还有一众新鲜品牌带着产品入局。这年头儿,耳朵上不挂个小逗号,好像都不好意思出街了。入耳式半入耳式颈挂式耳罩式主领先的何止5G,中国再次拿下6G第一,北京邮电取得重大突破点击关注,每天精彩不断!导读领先的何止5G,中国再次拿下6G第一,北京邮电取得重大突破!众所周知,随着移动互联网的逐渐发展和普及,如今网络已经成为了我们生活中最为重要的东西之一在4云闪付接入淘宝可扫个人微信付款码,支付互通大时代来了?近日,淘宝测试使用银联云闪付付款的消息引发讨论。新京报贝壳财经记者8月23日从淘宝云闪付两方客服分别证实了该消息,同时发现云闪付APP已能够扫描个人微信收款码付款。两件事并不完全相弃用华为鸿蒙的上汽,投入中兴OPPO的怀抱,这算有灵魂了?上汽最近动作不断,先是和OPPO达成合作,后又与中兴达成战略协议。有网友调侃道上汽这是要塑造自己的灵魂了。让我们回到一个多月以前,上汽在被询问道是否有意向与华为就无人驾驶达成合作时如何使用AppleWatch跟踪睡眠时间和睡眠质量?使用watchOS7中的睡眠App来设定起床闹钟就寝时间和就寝提醒。然后,戴着手表就寝以跟踪睡眠质量。设置睡眠获得充足的睡眠对于您的整体健康非常重要。iPhone上的健康App可以OPPOFindX3半个月使用体验及建议OPPOFindX3半个月使用体验及建议!在实体店第一次拿到这部手机的时候,第一感觉就是白色的质感很好,很精致,很漂亮!我对比了其他配色,真心推荐购买白色!凝白AG磨砂工艺,不锈钢