interface Project { id: number; title: string }return project.titel
- Property ‘titel’ does not exist. Did you mean ‘title’?
- Property ‘toUpperCase’ does not exist on type ‘number’.
用户看到的徽章:尚未生成
工程与栈 · 开发基础
为 JavaScript 加上编译期类型:同一行拼写错,JS 等运行时 TypeError,TS 在编辑器或 CI 就用红线拦住。
下面就是编辑器里的 badge.ts:默认 tsc 已在 titel 上画红线。点「当成 JS 直接跑」,用户徽章变成 undefined;失败也写在同一块编辑器上。
interface Project { id: number; title: string }return project.titel
用户看到的徽章:尚未生成
tsc · 2 个错误:红线和徽章长在编辑器物件上。
原因:编辑器对照 interface Project,发现 titel 拼错、number 上调了字符串方法。下一步:点「当成 JS 直接跑」,看用户徽章会变成什么。
红线和徽章已经演示了差异,这里只命名三层能力。
从协作和契约判断,而不是无脑上。
目标都是显示项目名,只改是否把断言当校验。
拼写错和缺字段在边界被发现。徽章显示真实 title。
编译通过,运行时 title 仍可能是 undefined。失败写在徽章上。
后端给接口加了一个字段,前端没更新类型。哪种情况会被 TypeScript 在编译期发现?
术语的技术定义和行为以这些一手或权威资料为准。
和本知识点经常一起出现的概念。