Cómo extender prototipos con JavaScript


Uno de los puntos de conflicto ideológicos del primer marco de JavaScript fue la extensión de prototipos frente a las funciones de envoltura. Frameworks como MooTools y Prototype ampliaron los prototipos mientras que jQuery y otros frameworks más pequeños no lo hicieron. Cada uno tenía sus beneficios, pero en última instancia, todos estos años después, sigo creyendo que la capacidad de extender prototipos nativos es una característica masiva de JavaScript. ¡Veamos lo fácil que es potenciar cada instancia de un primitivo extendiendo prototipos!

Todos los nativos de JavaScript, como Quantity, String, Array, Objectand many others tiene un prototype. Cada método en un prototype es heredado por cada instancia de ese objeto. Por ejemplo, podemos proporcionar cada `Array instancia con un distinctive método mediante la ampliación de su prototipo:

Array.prototype.distinctive = operate() {
  return (...new Set(this));
}

('1', '1', '2').distinctive(); // ('1', '2')
new Array('1', '1', '2').distinctive(); // ('1', '2')

Tenga en cuenta que si también puede garantizar la capacidad de encadenamiento devolviendo this:

('1', '1', '2').distinctive().reverse(); // ('2', '1')

La mayor crítica a la extensión de prototipos siempre ha sido la colisión de nombres donde la eventual implementación de la especificación es diferente a la implementación del marco. Si bien entiendo ese argumento, puede combatirlo con nombres de funciones de prefijo. Agregar superpoderes a un prototipo nativo para que cada instancia los tenga es tan útil que nunca le diría a alguien que no extienda un prototipo. #MooToolsFTW.

  • Gradientes CSS

    Con CSS border-radius, les mostré cómo CSS puede cerrar la brecha entre el diseño y el desarrollo al agregar esquinas redondeadas a los elementos. Los gradientes de CSS son otro paso en esa dirección. Ahora que los gradientes de CSS son compatibles con Web Explorer 8+, Firefox, Safari y Chrome…

  • Enviar mensajes de texto con PHP

    Niños en estos días, te digo. Lo único que les importa es la tecnología. Los videojuegos. El agua embotellada. Ah, y los mensajes de texto, siempre los mensajes de texto. En mi época, todo lo que teníamos period… OK, yo también tenía todas estas cosas. Pero sigo sin entender…

  • Contenido editable usando MooTools 1.2, PHP y MySQL

    Todo el mundo y su teacher de aeróbicos quieren poder editar su propio sitio net en estos días. ¿Y por qué no lo harían? Es decir, tienen un presupuesto de $500, no tienen experiencia en HTML/CSS y tienen expectativas extraordinarias. Sin embargo, basta de despotricar. Tener un sitio net que permita…

  • Complemento de tablas Zebra de MooTools

    Los datos tabulares a menudo pueden ser aburridos, ¡pero no es necesario que se vean así! Con una clase pequeña de MooTools, puedo hacer que los datos tabulares sean extremadamente fáciles de leer mediante la implementación de tablas “zebra”, tablas con colores de fondo de fila alternados. El CSS El CSS anterior es extremadamente básico.


Related Articles

ADU 01290: ¿Puedo mapear con el Mavic 3 Enterprise?

El episodio de hoy es presentado por los programas PROPS....

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Same Category

spot_img

Stay in touch!

Follow our Instagram