Escribo JavaScript sin punto y coma.
Y eso me gusta mucho. El lenguaje es más limpio, en mi opinión.
Puede que no te guste y es comprensible, pero así son las cosas.
Los puntos y comas son opcionales. No estamos obligados a añadirlos.
Sin embargo, a veces debemos prestar atención. En particular, en Node.js, que usamos require()
para cargar módulos y archivos externos.
Esto puede provocar, en algunos casos, un error como éste:
TypeError: require(...) is not a function
Es un error extraño, ¿verdad?
Veamos cómo lo conseguí.
Necesitaba una biblioteca y luego tuve que ejecutar un código en el nivel raíz y creé una función asíncrona invocada inmediatamente:
const fs = require('fs')(async () = { //...})()
JS no ve un punto y coma después de require(), y comenzamos una línea con un (
, y JS piensa que estamos intentando ejecutar una función.
Se considera require('fs')
el nombre de la función, que es algo que realmente podría funcionar si el módulo export devolviera una función.
Pero no es así, por eso nos aparece ese ...is not a function
error.Te recomendamos Viajes y turismo
¿Cómo lo solucionamos?
Debemos agregar un punto y coma. En algún lugar.
Esto funcionaría:
const fs = require('fs');(async () = { //...})()
Y esto también funcionaría:
const fs = require('fs');(async () = { //...})()
Es un pequeño precio que debemos pagar para evitar el uso del punto y coma en todas partes.
Consejo: ahora existe la función await de nivel superior , puedes usarla en lugar de esta estructura y evitarás tales errores.
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Cómo solucionar el error “no es una función” en JavaScript
Y eso me gusta mucho. El lenguaje es más limpio, en mi opinión. Escribo JavaScript sin punto y coma. Escribo JavaScript sin punto y coma.
programar
es
2025-01-10

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente