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

TypeScript 中高级应用与完美实践

发布时间:2019-08-01 17:03:16 所属栏目:移动互联 来源: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

(编辑:核心网)

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

热点阅读