no-proto
Запретить использование свойства __proto__
Свойство __proto__ устарело с ECMAScript 3.1 и не должно использоваться в коде. Используйте Object.getPrototypeOf и Object.setPrototypeOf вместо него.
Подробное описание правила
Когда объект создается с помощью оператора new, свойство __proto__ устанавливается в исходное свойство «prototype» конструктора функции объекта. Object.getPrototypeOf — это предпочтительный способ получения прототипа объекта. Для изменения прототипа объекта используйте Object.setPrototypeOf.
Примеры неправильного кода для этого правила:
/*eslint no-proto: "error"*/
var a = ;
var a = ;
= b;
= b;
Примеры правильного кода для этого правила:
/*eslint no-proto: "error"*/
var a = Object.getPrototypeOf(obj);
Object.setPrototypeOf(obj, b);
var c = { __proto__: a };
Когда не следует использовать
Возможно, вам нужно отключить это правило, если необходимо поддерживать устаревшие браузеры, которые реализуют свойство __proto__, но не Object.getPrototypeOf или Object.setPrototypeOf.
Версия
Это правило было добавлено в ESLint v0.0.9.
Дополнительные материалы
Источники
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-proto