为什么 TypeScript 中 Object.keys 返回 string[] 型别?
TypeScript 存在一些不太直觉但背后却有合理因素的问题要留意,像是无论传入任何对象进 `Object.keys` 都仍会返回 `string[]` 型别是其中之一,本文探讨背后因素与提供不同方向的解套方法供不同情境使用。
TypeScript 存在一些不太直觉但背后却有合理因素的问题要留意,像是无论传入任何对象进 `Object.keys` 都仍会返回 `string[]` 型别是其中之一,本文探讨背后因素与提供不同方向的解套方法供不同情境使用。
近期在替项目做大型重构,其中就有将技术转换为 TypeScript 与 Monorepo,途中一些还没有头绪如何解决的类型问题,就会使用 `@ts-ignore` 或 `@ts-expect-error` 来先行忽略,但这两者的使用时机有所不同,这篇文章就来谈谈这两者的差异。
近期重写的专案中有许多状态需要管理,会需要统一管理资料于专案中,为了避免写死代码(Hard Coded)并且让接手的人都能轻易地了解资料型态,这里记录一些过程中的发现。结论是应该使用 as const 来达成列举资料管理,因为它更加直觉没有什么认知负担,并且更加灵活。
JavaScript 有 try...catch 语法用于捕捉程序中的错误情境,在需要时使用 throw 语法来抛出「任何错误」,通常建议会抛出 JS 默认的错误对象,但在 TypeScript 要怎么做才能确保抛出的错误的类型?
Zod 是以 TypeScript 为首的 Schema 声明和验证库,为什么有了 TypeScript 还需要 Zod?轻易的撰写运行时数据验证就是 Zod 的目的,像是验证第三方 API 传递的数据、用户输入在 URL 中或表单中的数据使用 Zod 来验证都很方便。