Despite being considered a bad practice by some, I like to extend native objects to add some syntatic sugar. However, when working in a React project with create-react-app, I receive the following ESLint error:
Array prototype is read only, properties should not be added no-extend-native
Fortunately this warning can be disabled by adding a comment in the file where you extend the native object. Putting it all together, this is what I’ve got:
/*eslint no-extend-native: ["error", { "exceptions": ["Array"] }]*/ Object.defineProperty(Array.prototype, 'last', { get: function() { return this[this.length - 1]; } }); Object.defineProperty(Array.prototype, 'empty', { get: function() { return this.length === 0; } });
Syntatic sugar added, clear console.