The __proto__
property of an object should be assigned with a proper value.
- BAD_ASSIGN_TO_PROTO
- Error
- Medium
- No tags
This rule applies when an invalid value is assigned to the __proto__
property of an object.
Only objects and null
can be assigned to the __proto__
property; other values will be ignored.
Note: It is recommended to use Object.getPrototypeOf()
and Object.setPrototypeOf()
instead of __proto__
property.
Noncompliant Code Example
View with compliant examples side by sidevar x = {}
x.__proto__ = undefined; // BAD_ASSIGN_TO_PROTO alarm
Compliant Code Example
View with noncompliant examples side by sidevar x = {}
Object.setPrototypeOf(x, null);
Version
This rule was introduced in DeepScan 1.19.0.