← 返回核心能力

核心能力 / 少靠猜,多靠约束

类型意识

类型的价值不是让代码看起来更严谨,而是把接口数据、页面状态和业务分支变成团队可以共同理解的约定。我会重点约束边界数据,而不是为每个局部变量增加没有收益的复杂类型。

先用白话理解

这项能力到底是什么?

类型像数据说明书,告诉开发者一个字段应该是文字、数字,还是可能不存在。

我的判断方式

01

先约束外部数据

接口响应、路由参数、表单输入和本地缓存最容易失真,应优先建立类型与校验。

02

用联合类型表达状态

加载、成功、空数据和失败使用明确状态模型,减少多个布尔值组合出的非法状态。

03

避免逃逸

谨慎使用 any、非空断言和强制转换,无法确认的数据先收窄再使用。

交付检查

落地时会确认什么

  • 接口数据是否有稳定模型
  • 异步状态是否可能出现非法组合
  • 公共组件泛型是否真的提升复用
  • 类型错误是否能给出可行动的提示

可以怎样一步步做

  1. 先描述接口数据结构
  2. 明确哪些字段可能为空
  3. 区分加载、成功和失败状态
  4. 未知数据先判断再使用

常见误区

  • 到处使用 any
  • 认为有类型就不需要运行时校验
  • 用强制转换掩盖接口问题

术语解释

  • TypeScript:带类型检查的 JavaScript
  • any:跳过类型检查的类型
  • 联合类型:表示数种明确可能