--- tags: [推荐] --- 禁止自我赋值。 自我赋值像 `a = a;` 根本没有任何效果。如果代码中存在自我赋值,大多数情况下意味着作者仍在重构过程中,还有剩余的工作需要完成。 **无效:** ```typescript a = a; [a] = [a]; [a, b] = [a, b]; [a, b] = [a, c]; [a, ...b] = [a, ...b]; a.b = a.b; ``` **有效:** ```typescript let a = a; a += a; a = [a]; [a, b] = [b, a]; a.b = a.c; ```