加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

TypeScript 中高级应用与美满实践

发布时间:2019-08-02 12:00:43 所属栏目:移动互联 来源:AlloyTeam
导读:当我们接头 TypeScript 时,我们在接头什么? TypeScript 的定位 JavaScript 的超集 编译期举动 不引入特殊开销 不改变运行时举动 始终与 ESMAScript 说话尺度同等 (stage 3 语法) TypeScript 中的 Decorator 较为非凡,为 Angular 团队和 TypeScript 团队

enum 在 TS 中呈现的较量早,它引入了 JavaScript 没有的数据布局(编译成一个双向 map),入侵了运行时,与 TypeScript 宗旨不符。用 string literal union('small' | 'big' | 'large')可以做到沟通的事,且在 debug 时可读性更好。假如很在意前提较量的机能,应该用二进制 flag 加位运算。

  1. // TypeScript 
  2. enum Size { 
  3.     small = 3, 
  4.     big, 
  5.     large 
  6. const a:Size = Size.large;    // 5 
  7.   
  8. // 编译为 
  9. var Size; 
  10. (function (Size) { 
  11.     Size[Size["small"] = 3] = "small"; 
  12.     Size[Size["big"] = 4] = "big"; 
  13.     Size[Size["large"] = 5] = "large"; 
  14. })(Size || (Size = {})); 
  15. const a = Size.large; // 5 
写在最后

应该以什么心态来编写 TypeScript

我们应该编写有范例体系的 JavaScript,而不是能编译成 JavaScript 的 Java/C#。任何一个 TypeScript 措施,在手动删去范例部门,将后缀改成 .js 后,都应可以或许正常运行。

【编辑保举】

  1. Golang 到底姓什么?开拓者想移除谷歌 logo
  2. 将极大富厚你的编程手艺和常识的10个项目
  3. GitHub Trending被国人恒久“霸榜”,海外开拓者SAY NO
  4. 马斯克的“大脑改革打算”,还必要点亮哪些手艺树?
  5. Github 开始限定受美国商业制裁国度的开拓者
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读