知识中心
探索、学习、分享各种实用知识与技巧
知识分类
最新文章
Vue 3 组合式 API 入门指南
Vue 3 的组合式 API (Composition API) 是一种全新的组件逻辑组织方式,让代码更易复用和维护。
三字经:中华启蒙经典的文化传承与智慧结晶
《三字经》是中国古代最具影响力的儿童启蒙教材之一,与《百家姓》《千字文》并称为"三百千",是中国传统文化教育的重要基石。全文采用三言韵文的形式,朗朗上口,便于记忆,涵盖了历史、哲学、伦理、教育、自然等多个领域的知识。
百家姓:承载千年文化的中国姓氏百科全书
《百家姓》是中国宋代初期编纂的姓氏韵文读物,收录442个姓氏,承载千年家族文化。本文深入解析百家姓的历史渊源、结构特点、姓氏起源、复姓现状、少数民族姓氏及文化影响,是了解中国家族根源与文化认同的百科全书。
第四篇:ESLint 与类型规则的 CI 卡点 —— 在 Git Hook 阶段强行拦截劣质类型
TypeScript 的类型检查虽然能在编辑器中提示错误,但开发者可能忽略或使用 // @ts-ignore 跳过。为了保证代码库的长期健康,必须在提交前(pre-commit)和 PR 合并前(CI)强制执行完整的类型检查,并结合 ESLint 规则约束编码风格。
第三篇:第三方库类型增强 —— 利用 declare module 补全类型缺口
项目经常会引入没有类型定义的第三方库(例如旧版 jQuery 插件、内部私有 npm 包),或者库的类型定义不完整(缺少某些方法、事件)。我们不需要重写整个库,只需利用 TypeScript 的声明合并(Declaration Merging)机制来"打补丁"。
第二篇:定制业务场景的类型守卫 —— 从 DeepReadonly 到运行时校验,根治数据污染
TypeScript 的内置类型(如 Readonly、Partial)只能处理一层结构。在 Redux/React 状态管理、配置对象深冻结、API 返回数据严格校验等场景下,我们需要深层的不可变类型、精确匹配类型等。同时,类型守卫(Type Guard)能让我们在运行时校验数据类型,弥补类型系统只存在于编译期的局限。
第一篇:重新理解泛型与条件类型 —— 解锁 infer 与分布式条件类型的威力
在日常开发中,我们常写 function identity<T>(arg: T): T 这类基础泛型。但当面对复杂的数据转换、API 响应包装、事件处理等场景时,仅靠简单泛型远远不够。条件类型(Conditional Types)和 infer 关键字能让我们在类型层面做"逻辑判断"和"模式匹配",从而写出自描述、自保护的代码。
设计模式详解-状态模式
状态模式(State Pattern)是行为型设计模式中最具动态行为组织价值的模式,其核心意图在于允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。状态模式将状态相关的行为局部化到各自的状态类中,消除庞大的条件分支语句,使状态转换显式化、可追踪、可扩展。
设计模式详解-命令模式
命令模式(Command Pattern)是行为型设计模式中最具架构解耦价值的模式之一,其核心意图在于将请求封装为对象,从而支持请求的参数化、队列化、日志化和可撤销操作。命令模式将"调用操作的对象"与"知道如何执行该操作的对象"彻底分离,使请求的发送者和接收者之间不存在直接引用关系。
设计模式详解-解释器模式
解释器模式(Interpreter Pattern)是行为型设计模式中最具理论深度与领域建模价值的模式,其核心意图在于为特定语言定义文法表示,并构建解释器来解释该语言中的句子。该模式将问题域抽象为自定义语言(DSL),通过构建抽象语法树(AST)实现"代码即数据"的范式转换,使复杂规则从硬编码程序中解放出来,转化为可配置、可扩展的声明式结构。
设计模式详解-中介者模式
中介者模式(Mediator Pattern)是行为型设计模式中最具系统解耦价值的模式,其核心意图在于用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这一模式将多对多的复杂通信网络,简化为以中介者为中心的一对多星型结构。
设计模式详解-访问者模式
访问者模式(Visitor Pattern)是行为型设计模式中最具扩展性的模式,其核心意图在于表示一个作用于某对象结构中的各元素的操作,使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。这一模式将数据结构与作用于结构上的操作解耦,使得新增操作变得容易,无需修改既有元素类。