Skip to content

globalAssignments

Reports attempting to assign to read-only global variables such as undefined, NaN, Infinity, Object, etc.

✅ This rule is included in the ts untyped preset.

Global variables like undefined, NaN, Infinity, and built-in objects like Object and Array are read-only and should not be modified. Attempting to reassign these globals can lead to confusing behavior and potential bugs in your code. In strict mode, reassigning these globals will throw a TypeError at runtime.

undefined = 1;
NaN = 42;
Infinity = 100;
Object = null;
Array = function () {};
let count = 5;
undefined += count;
NaN++;
--Infinity;

This rule is not configurable.

This rule should always be enabled, as attempting to reassign read-only global variables is always incorrect behavior in JavaScript and TypeScript. Modern JavaScript environments enforce these restrictions in strict mode, and violating them can cause runtime errors.

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