Skip to content

selfAssignments

Reports self-assignments which have no effect and are likely errors.

✅ This rule is included in the ts logical preset.

Self-assignments where a variable is assigned to itself have no effect and typically indicate an incomplete refactoring or a copy-paste error. These assignments serve no purpose and should be removed or corrected to assign the intended value.

value = value;
count &&= count;
flags.value ||= flags.value;
data ??= data;

This rule is not configurable.

There are rarely valid reasons to use self-assignment. In cases where you need to trigger getters/setters or proxies, consider adding a comment explaining the intentional self-assignment.

Made with ❤️‍🔥 in Boston by Josh Goldberg and contributors.