Lección 19 / 20

Métodos de extensión

En esta lección añadirás un método propio a un tipo que no escribiste tú.

extension NombreDeLaExtension on int { ... } añade métodos al tipo int. Dentro de la extensión, el valor sobre el que se llama está disponible directamente, sin necesidad de escribir this. A partir de ahí, cualquier entero puede llamar a ese método como si siempre hubiera formado parte del lenguaje.

El código de ejemplo añade a los enteros un método que inserta separadores de millar, usando una expresión regular que busca las posiciones donde quedan grupos de tres cifras por delante.

Una nota sobre el formato: el ejemplo produce 1,234,567 con comas, porque el método se llama toCommaString y así es como se escribe en inglés. En España y en la mayor parte de Latinoamérica el separador de millares es el punto (1.234.567), aunque México y algunos países más usan la coma. Cambiarlo es tan simple como sustituir ',' por '.' en la última línea; pruébalo. Para una aplicación de verdad, lo correcto no es ninguna de las dos cosas fijas, sino el paquete intl, que aplica el formato del país del usuario.

Las extensiones son cómodas, pero conviene no abusar: no aparecen en la documentación del tipo original, así que quien lea el código por primera vez puede no saber de dónde sale ese método. Son ideales para utilidades pequeñas y muy usadas en un proyecto.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Dart directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)