Funciones

¿Cómo se declara una función y cómo se llama en JavaScript?

Para declarar una función en JavaScript, se utiliza la palabra clave function, seguida del nombre de la función, una lista de parámetros entre paréntesis y el cuerpo del código encerrado entre llaves { } (ej function hola(valor) {//codigo}).
Para llamar a la función, se escribe el nombre de la funcion seguido de paréntesis () que contienen los argumentos correspondientes a los parámetros definidos (ej hola("Pablo"))

¿Qué significa que una función tenga parámetros y un valor de retorno?

Que una funcion tenga parametros quiere decir que la funcion espera recibir un valor para cada parametro (como un hueco esperando ser rellenado) para despues ejecutar su bloque de codigo con esos valores.
Mientras que el valor de retorno es lo que la funcion regresara una vez realizado el bloque con los valores recibidos (ej. suma(a,b) {return a+b;} => suma(3,5) regresara 8)

¿Qué son las funciones flecha (=>) y qué ventajas tienen?

Son una forma mas corta de hacer funciones ya que ahorra el tener que usar las palabras clave function y return y puede generar la funcion en una sola linea lo cual la hace muy versatil para trabajar siendo esta su mayor ventaja, el tener la funcion en una sola linea le da simplicidad y mayor legibilidad al codigo.

¿Qué es el scope en JavaScript y cómo afecta a las variables?

El scope o ambito determina la accesibilidad o visbilidad de las variables funcionando como un tipo de encapsulamiento de datos y afecta las variables de diferentes maneras:
Alcance Global: Las variables declaradas fuera de cualquier función o bloque son accesibles desde cualquier parte del codigo, lo que puede ocasionar problemas de nombres si se usa en exceso.
Alcance Local (Funcion): Las variables declaradas dentro de una funcion solo son accesibles dentro de esa funcino; al salir dejan de ser visibles para el resto del programa.
Alcance de Bloque: Con let y const, las variables estan limitadas al bloque de codigo especifico (como un if o un for) donde se declararon, siendo inaccesibles fuera de estos.
Cadena de Scope: JavaScript busca variables primero en el ambito local mas cercano y, si no las encuentra, sube jerarquicamente hasta el ambito global, lo que permite el shadowing (ocultamiento) de variables con el mismo nombre en ambitos anidados.

JavaScript ,