《EffectiveTypeScript》作者在Etsy大会上的演讲总结:几幅图带你理解TypeScript

图片

为什么要使用TypeScript?

一、因为用JavaScript开发大型应用很困难

图片

有时候当我在写Javascript的时候,我想举起我的手说“这是胡扯!”但是我永远记不住“this”指的是什么


二、因为静态类型有三大优势

  1. 安全

    类型系统允许在不运行代码的情况下及早发现许多错误。

  2. 可读性(适合人类)显式类型使代码更容易被人类理解。

    弗雷德·布鲁克斯:“给我看你的流程图,隐藏你的表格,我会继续感到困惑。给我看你们的表格,我通常就不需要你们的流程图了,它们会很明显。”

  3. 工具支持(机器的可读性) 类型系统也使计算机更容易理解代码。这使得 ide 和 lint 更加强大。


     

理解 TypeScript 之间的关系

图片

“TypeScript 是 JavaScript 的超集”

图片

“TypeScript 是 JavaScript 的类型化超集”

将类型视为值的集合

类型是集合还是树?

图片

interface Vector1 { x: number; }interface Vector2 {  x: number;  y: number;}interface Vector3 {  x: number;  y: number;  z: number;}

图片

type A = string | Date;type B = string | number;type C = A & B;  // string

可以看到,TypeScript的类型系统已经超出 java 的 oop 领域了!


几点建议

1. 优先选择总是表示有效状态的类型

2. 不要对 抗类型检查器(你会输的)


总结

  • TypeScript 类型在运行时消失 

  • DX 是和类型安全一样大的胜利

  • 不要在文档中重复类型信息

  • 类型是一组值: 
    "assignable" = "subset"
    "extends" = "subset"

  • 好的类型引导正确的代码 

  • 糟糕的类型会导致对抗 tsc(你会输的!)

effective 风格的图书侧重三方面内容:

  1. 做什么

  2. 要避免的事情

  3. 心智模式

它会帮助你将学到的知识有效应用于工作中

图片

  欢迎关注公众号:文本魔术,了解更多

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值