Tengo matriz y quiero acceso por propiedad (no función) como:
let arr = [1,2,3]; console.log("last element: ", arr.last)Intento que me guste, pero tengo un error:
Array.prototype.last = (() => { return this[this.length - 1]; })();Actualización 1: sí, sé cómo hacerlo como el método de extensión:
Array.prototype.mysort = function() { this.sort(() => Math.random() - 0.5); return this; } myarray.mysort();pero ¿cómo le gusta la propiedad?
myarray.mysort;Puedes hacer esto con un captador . Debe usar Object.defineProperty() para agregar un captador a un objeto existente, en este caso, el objeto Array.prototype .
Object.defineProperty(Array.prototype, "last", { get: function() { return this[this.length - 1]; } }); const a = [1, 2, 3]; console.log(a.last);