Skip to content

Latest commit

Β 

History

History
76 lines (63 loc) Β· 1.06 KB

no-accessor-recursion.md

File metadata and controls

76 lines (63 loc) Β· 1.06 KB

no-accessor-recursion

πŸ“ Disallow recursive access to this within getters and setters.

πŸ’Ό This rule is enabled in the following configs: βœ… recommended, β˜‘οΈ unopinionated.

This rule prevents recursive access to this within getter and setter methods in objects and classes, avoiding infinite recursion and stack overflow errors.

Examples

// ❌
const foo = {
	get bar() {
		return this.bar;
	}
};

// βœ…
const foo = {
	get bar() {
		return this.baz;
	}
};
// ❌
class Foo {
	get bar() {
		return this.bar;
	}
}

// βœ…
class Foo {
	get bar() {
		return this.baz;
	}
}
// ❌
const foo = {
	set bar(value) {
		this.bar = value;
	}
};

// βœ…
const foo = {
	set bar(value) {
		this._bar = value;
	}
};
// ❌
class Foo {
	set bar(value) {
		this.bar = value;
	}
}

// βœ…
class Foo {
	set bar(value) {
		this._bar = value;
	}
}