自由和开源的编程语言
本文仅用于技术分享和学习交流,内容不包含任何广告、推广、引流、付费课程或外链信息。所有示例和配置均为技术实践,欢迎参考和自定义。
用 Claude Code 做任务时,除了看回复内容,我们还会关心:当前使用什么模型、正在操作哪个目录、Git 工作区有没有变化、上下文还剩多少,以及这次任务已...
在 TypeScript 4.9 之前,我们经常遇到一种尴尬的局面:想用类型标注来约束一个对象字面量,确保它符合某个接口,但又希望保留对象字面量中每个属性的窄化...
在最近几个项目里,我频繁遇到一个类型定义上的两难:想用接口或类型别名约束一个配置对象,但又不想让 TypeScript 把对象的字面量类型拓宽成更宽泛的类型。以...
TypeScript 4.9 引入了 satisfies 操作符,它解决的是一个长期存在的矛盾:我们既想用类型注解约束一个值,又不想丢失这个值本身的字面量类型信...
ts-rust 将 typescript-go 的类型检查器移植到 Rust,保持与 tsc 行为一致,18万余个 Go 测试全部通过,支持编译为 WASM,速...
在 Node.js 后端开发中使用 TypeScript 和 Express 时,经常需要在中间件里往 req 对象上挂载一些自定义属性,比如当前登录用户的信息...
在维护一些年代较久或者从 JavaScript 迁移过来的 TypeScript 项目时,经常会看到 any 类型被大量使用。它确实省事,编译器不再报错,但代价...
Company Brain 是运行在 Cloudflare Workers 上的 Slack 机器人,持续记忆团队对话并基于权限隔离的记忆容器检索答案,能在 G...
项目里同时存在 interface 和 type 定义,时间一长就出现了同一种结构两种写法混用的情况。平时写业务不会立刻出问题,但到了需要扩展、交叉或做工具类型...
在维护几个中后台项目时,我经常看到这样的代码:一个配置对象里放了一组状态码和对应的文案,然后在使用时因为类型被推断成 string 而不得不给每个取值加上 as...
维护老项目时经常遇到一个情况:引用的某个 npm 包本身是用 JavaScript 写的,也没有随包提供 .d.ts 文件,TypeScript 编译直接报 C...
在写 TypeScript 的时候,我经常遇到一个很别扭的情况:想给一个对象声明类型,让每个属性值都被推断成具体的字面量,而不是被拓宽成 string、numb...
接口返回的 JSON 层级稍微深一点,写业务代码时就很容易被 Cannot read properties of undefined 打断。比如 res.dat...
上周排查了一个线上问题,页面在部分用户手机上直接白屏,控制台报 Cannot read property 'name' of undefined。定位到代码时发...
开发中经常遇到这样的需求:定义一个配置对象,希望它的属性值在后续使用中被推断为字面量类型而不是宽泛的 string 或 number,比如用于区分联合类型的分支...
在写 TypeScript 时经常遇到一种两难:定义一个配置对象或常量映射,希望它的属性值被推断为字面量类型(比如 'GET' 而不是 string),同时又想...
在 TypeScript 4.9 之前,我们经常在类型安全和类型推断之间二选一:要么给变量加显式类型注解,结果丢失了字面量推断和精确的属性类型,要么完全依赖推断...
在维护一个订单状态组件时,我经常会写出这样一段逻辑:根据后端返回的 status 字段渲染不同按钮。起初用 if/else 判断,后来改成 switch,但某天...
最近在维护一个数据看板项目时,遇到一个 TypeScript 类型报错,当时觉得明明逻辑没问题,编译却过不去。场景很简单:一个函数根据传入的字符串字面量决定返回...