Ampliar prototipos nativos en Node.js -

Como alguien que estuvo en el legendario equipo de JavaScript de MooTools, tengo cierto afecto por ampliar los prototipos de objetos nativos. Por supuesto, la práctica de prototipos de extensores es tabú hoy en día, ya que los proveedores de navegadores están iterando e implementando nuevas especificaciones más rápidamente que en la era IE6, pero extensores nativos en Node.js podrían considerarse más seguros ya que, en teoría. , tenemos más control sobre el entorno (versión Node.js). ).

Extender un nativo dentro de Node.js es bastante simple:

// Dentro de un módulo de archivo llamado "String.prototype.startsWith.js"// La convención de nomenclatura es importante para el mantenimiento y la claridad de intenciones// Esta es una corrección muy, muy simple que no está hecha para uso en producción// Es simplemente para ilustrar la extensión del prototipo// Se debe agregar más lógica para casos extremos if(!String.prototype.startsWith) { String.prototype.startsWith = function(term) { return this.substr(0, term .longitud) === término; };}// ----------// Dentro de cualquier otro módulo que quiera usar la extensiónrequire('String.prototype.startsWith');// Usageif(myString.startsWith('Moo')) { //...}

Siempre que requiera el módulo que contenga el código de extensión, el nativo tendrá el método adicional deseado. Por supuesto, esto no se aplica sólo a los nativos, puedes extender otros Objetos de esta misma manera. Si explora npm, puede encontrar un montón de extensiones de prototipos, una de las cuales esString.prototype.startsWith, que también funciona con código lateral del cliente.

Supongo que recibirá algo de odio por que indicar que esta práctica está más bien con Node.js, ¡así que avíseme!

Te podría interesar...

Deja una respuesta

Subir