no-proto
Запретить использование свойства __proto__
Свойство __proto__ устарело начиная с ECMAScript 3.1, и его не следует использовать в коде. Вместо него используйте Object.getPrototypeOf и Object.setPrototypeOf.
Подробное описание правила
Когда объект создаётся с помощью оператора new, __proto__ присваивается исходное свойство «prototype» функции-конструктора объекта. Object.getPrototypeOf — предпочтительный способ получить прототип объекта. Чтобы изменить прототип объекта, используйте Object.setPrototypeOf.
Примеры неправильного кода для этого правила:
/*eslint no-proto: "error"*/
const a = ;
const a1 = ;
= b;
= b;
Примеры правильного кода для этого правила:
/*eslint no-proto: "error"*/
const a = Object.getPrototypeOf(obj);
Object.setPrototypeOf(obj, b);
const 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