Lobsters | 📄 原文链接 | 2026-10-11 收录

给 TypeScript 编译器加上 Go 的 defer

来源:healeycodes.com — 2026-10

📋 概述

作者试着给 TypeScript 编译器加上 Go 的 defer 语句,做完后反而确信它大概不该存在。实现思路是把含 defer 的函数重写为:建一个栈,在到达 defer 时立即捕获被调函数值、接收者与实参并入栈,退出时按后进先出依次调用;异常路径下仍保证全部清理执行、保留原始错误,并用 AggregateError 聚合多个失败。语言设计上只接受调用表达式,且直接拒绝 defer await。

🔑 核心要点

💡 金句

等我做完,我反而确信这个特性大概不该存在。
← 返回 Lobsters 首页