SuperAPI AI 工具集

immutable-patterns

前端与建站

查看项目

更新于 10-16 06:14

技能介绍

用途:该规则要求在前端代码中优先采用不可变数据模式,避免对共享对象或数组进行原地修改,因为原地修改会让人难以追踪值在何处发生变化;而不可变更新会让每个数据版本成为独立对象,可通过引用比较检测变化、进行时间旅行调试,并明确知道是哪部分代码修改了数据。

主要能力:一是检查,找出代码中所有原地修改对象或数组的位置,标记对函数参数的直接属性赋值以及对数组的 push、splice 操作;二是修复,用展开运算符和非变异数组方法替代原地修改;三是解释,说明不可变数据模式、共享状态中变异为何引发错误,以及展开运算符和数组方法如何实现不可变性;四是代码审查,检查与优先不可变数据模式相关的脚本、客户端组件和浏览器执行路径,指出违反该规则的具体导入、事件处理程序、运行时副作用或阻塞操作,并说明应如何在浏览器中验证改动。

使用方式:规则建议使用展开运算符(...)创建对象和数组的修改副本;优先使用 map()、filter()、reduce(),而非 push()、splice() 和直接赋值;对不应更改的配置对象使用 Object.freeze();在状态管理(Redux、Zustand、Signals)中尤其重要。

适用场景:适用于前端脚本、客户端组件、打包产物及运行时行为的审查,也适用于遵循该规则的代码检查与修复流程。

限制:资料未提供完整实现细节、代码示例和针对具体框架的指导,这些内容指向 references/rule.md;该规则页面为 https://frontendchecklist.io/en/rules/javascript/immutable-patterns。