TypeScript
TypeScript 3.0+ unknown 类型实战:从 any 到严格类型安全的演进

本文深入解析TypeScript 3.0引入的unknown类型,对比其与any的本质区别。通过API响应处理、用户输入校验等实战案例,演示如何利用typeof、instanceof等类型守卫及断言机制,将运行时错误前置至编译期检查。文章强调unknown作为顶级类型的严格性,帮助开发者构建更健壮、可维护的前端应用,避免滥用any带来的技术债。

10.31
热度 270
TypeScript中type与interface的使用和区别

本文深入解析TypeScript中interface与type的核心差异。对比两者在语法、扩展方式(继承vs交叉类型)、声明合并及复杂类型表达上的不同。通过代码示例说明何时优先使用interface定义对象形状,何时使用type处理联合、元组及映射类型,并提供React Props及第三方库扩展的最佳实践建议。

10.31
热度 588
TypeScript中never类型的核心用法与原理解析

本文深入解析TypeScript中的never类型,阐述其在抛出异常、死循环函数及类型保护中的应用。重点介绍利用never进行 exhaustive checking 以确保switch分支全覆盖,并剖析条件类型中never返回never的原理及元组包装解决方案,帮助开发者提升代码健壮性。

10.31
热度 575
TypeScript 与 ES6 核心差异解析:从变量声明到模块系统

本文深入解析 TypeScript 与 ES6 的核心区别。重点对比 var/let/const 的作用域与变量提升机制,详解模板字符串、箭头函数中 this 指向及默认参数等 ES6 特性。同时阐述 TypeScript 的静态类型系统、编译流程及其在大型项目中的优势,并对比两者在适用场景上的差异,帮助开发者根据项目需求做出技术选型。

10.31
热度 178
UnError:让 JavaScript 错误处理更优雅的轻量级库

UnError 是一个轻量级且类型安全的 JavaScript/TypeScript 错误处理库,旨在解决标准 Error 对象在信息贫乏、错误链丢失及序列化困难等方面的痛点。它支持完整的错误链追踪、JSON 序列化、格式化输出及堆栈解析,并提供零依赖和 TypeScript 完整类型定义,显著提升微服务及单体应用中的错误处理效率与优雅度。

10.31
热度 317
TypeScript 声明合并的具体使用

本文深入解析 TypeScript 中的声明合并机制,涵盖接口、命名空间及模块扩展的具体用法。详细说明了成员冲突处理、函数重载规则、字面量类型优先级以及命名空间与类/函数/枚举的合并方式,并澄清了 type alias 与 interface 无法合并的限制,帮助开发者构建更灵活的类型定义。

10.31
热度 651
Vue 3 TypeScript 接口 Interface 使用详解与实战

本文详解 Vue 3 中 TypeScript 接口 Interface 的应用。涵盖组件 Props 类型定义、响应式数据模型构建、状态对象管理及事件发射类型定义。同时介绍接口继承、索引签名及函数类型接口等高级用法,并提供完整组件示例,提升代码可读性与维护性。

10.31
热度 621
TypeScript与JavaScript核心区别详解:类型、编译与生态对比

本文深入解析TypeScript(TS)与JavaScript(JS)的核心差异。TS作为JS超集,引入静态类型系统、接口与泛型,通过tsc编译提升代码可靠性与IDE支持。对比两者在类型推断、模块化、面向对象及适用场景上的不同,帮助开发者根据项目规模与团队需求做出技术选型。

10.31
热度 85
Node.js 从零搭建 TypeScript 项目完整指南

本文详细演示如何在 Node.js 环境中从零开始搭建一个 TypeScript 项目。涵盖使用 pnpm 初始化项目、安装 typescript 及 @types/node 依赖、配置 tsconfig.json 编译选项(如 ES2023 目标、sourceMap、输出目录)、定义 package.json 中的构建与运行脚本,以及验证多模块导入与执行的全过程。

10.31
热度 521
前端TypeScript时间格式化函数举例详解

本文详细介绍前端TypeScript中常用的时间格式化函数,包括formatDate、getWeek、formatPast、formatAxis、parseTime和parseDate。通过具体示例展示如何根据传入的Date对象和指定格式,返回格式化后的时间字符串、相对时间、问候语等信息。

10.31
热度 547
TypeScript 中的非空断言 (!) 与可选链 (?) 操作符详解

本文深入解析 TypeScript 中两个关键操作符:非空断言 (!) 与可选链 (?)。! 用于强制告知编译器值非空,绕过类型检查但需承担运行时风险;? 用于安全访问嵌套属性,自动处理 null/undefined 并返回 undefined。文章对比了二者在语义、适用场景及性能表现上的差异,帮助开发者写出更健壮的 TS 代码。

10.31
热度 603
TypeScript封装一个通用的时间格式化方法

本文介绍如何在TypeScript中封装一个通用的时间格式化工具,支持Date对象、时间戳和ISO字符串输入。核心功能包括自动转换为AM/PM格式、处理12小时制、自动补零及错误处理。文章提供了基础实现、扩展选项配置(如秒数显示、大小写控制)以及针对时区、解析失败和浏览器兼容性的常见问题解决方案,帮助开发者构建灵活可靠的日期处理逻辑。

10.31
热度 483

标签目录

JavaScript 核心技术JavaScript 基础JavaScript 函数与作用域JavaScript 对象与原型JavaScript 数组与数据处理JavaScript 异步编程JavaScript 项目实战
浏览器与 Web 开发DOM 与事件浏览器 API网络请求与通信浏览器数据存储前端调试前端安全
前端框架与应用VueReactNext.jsNuxt前端状态管理前端性能优化
TypeScript 与工程化TypeScript前端构建依赖管理自动化测试前端部署代码规范与重构
Node.js 后端开发Node.js 基础Node.js Web 框架数据库开发接口开发与鉴权服务部署与运维Node.js 性能优化
AI 开发与应用大模型 API 开发AI 智能体开发RAG 与知识库AI 编程工具AI 多模态应用AI 应用部署