La última pieza fundamental de las funciones de Javascript que aún tenemos que cubrir es la palabra clave return.
Entonces, este video se enfocará conceptualmente en la palabra clave de retorno.
Y luego también, ¿cómo escribimos las funciones que lo usan?
Entonces me gusta imaginar que las funciones son una máquina.
Escribimos una función y toma algunas entradas y esos serían los argumentos.
Y hace algo con esas entradas hace matemáticas.
Comprueba si un usuario está conectado, lo agrega a una puntuación y luego devuelve algo al final.
Hay una salida que envía de vuelta.
Hasta ahora, las funciones solo han recibido entradas y en realidad no han devuelto nada.
Así que te mostraré lo que quiero decir si tenemos una función llamada Square que vimos en la última lección
y Square tomó una entrada.
Vamos a llamarlo X y todo lo que hicimos dentro fue cancelado el registro x veces X. Si corro cuadrado y paso un número como 4, veo el número 16 aquí.
Así que parece que tengo un resultado que realmente tengo es algo que se imprime en la consola con el cuadro de
diálogo de la consola, pero en realidad no tengo algo que se devuelva.
Entonces, hay una gran diferencia.
Si utilizo la palabra clave de retorno, significa que puedo capturar el valor que está saliendo de la función.
En este momento no puedo capturarlo.
Entonces, un registro constante simplemente lo imprime en la consola.
Entonces, solo un desarrollador podría verlo de todos modos y no puedo usarlo en ninguna otra parte de mi código.
Entonces, digamos que quería hacer algo en donde tenía una
línea que era como cuatro cuadrados y luego quería poner lo que venga desde la casilla cuatro.
Entonces, algo como esto, quería unir esto.
Entonces cuatro cuadrados es más cuadrado de cuatro.
En este momento, si hago eso, solo me dice que cuatro cuadrados no está definido.
Y eso es porque no se devuelve nada o falta esta salida.
Entonces, aunque imprima algo, en realidad no dura, no envía nada.
Entonces para hacer eso usamos la palabra clave return.
Entonces, es un cambio realmente simple.
Recién vamos a regresar y en lugar de una tala comparable, solo escribiré return.
Entonces, la palabra clave return devolverá una cosa por función.
tipo de declaración if en la que en lugar de una declaración IF devolviéramos una
cosa y en lugar de La Otra devolviéramos otra cosa pero solo una de ellas alguna vez va a regresar realmente.
En teoría, podríamos tener múltiples declaraciones de devoluciones, pero solo la primera se ejecutará a menos que tuviéramos algún
Entonces, en este caso, estamos devolviendo X veces x.
Entonces, si ejecuto este ahora
cuadrado de cuatro, puede ver que me muestra 16 pero es ligeramente diferente que antes.
La forma en que imprimió 16 verá esta flecha aquí y me dice que es un valor de retorno.
Entonces, si simplemente cancelo, no registre algo en sí mismo, como cancelar el registro para una impresión
número cuatro, pero justo debajo puede ver que hay un valor de retorno en el registro constante que en realidad devuelve indefinido.
Eso explica por qué hemos estado viendo tantos indefinidos.
Si te has estado preguntando qué es eso.
Me he abstenido de explicarlo hasta que hayamos llegado a la palabra clave return.
Entonces cada función devuelve algo.
Y si no le decimos explícitamente qué devolver, solo devuelve indefinido.
Así que parece que teníamos nuestra función cuadrada
y cuando la ejecutaríamos devolvió indefinido, aunque imprimió 16, todavía no se definió.
Entonces, para usar el valor ahora para capturar la salida del cuadrado cuadrado
de cuatro, si quiero usarlo en otro lugar, puedo devolver la llamada a esta línea que se parece a esta 4 cuadrada es más cuadrado de 4.
Y esto va a funcionar.
Va a pasar por un multiplicar X por x 16 y luego devolvió 16.
Lo va a enviar fuera de la función y ponerlo aquí.
Y entonces tenemos cuatro cuadrados es 16.
La otra cosa que puedo hacer con la palabra clave
return es guardarla en una variable para poder hacer algo como esto.
El resultado Var es igual al cuadrado de 104.
Y ahora, si miro los resultados, recibo diez mil ochocientos dieciseis.
Por lo tanto, se evaluó esta función de llamada al cuadrado de 104 que devolvió 10000 816 que luego se almacenó en el resultado.
Así que tengo otro ejemplo de una función que devuelve algo que se llama capitalizar y toma una cadena
como la palabra París y lo que hace es poner en mayúscula
la primera letra y devuelve la cadena completa con la primera letra en mayúscula.
Así que París se convierte en París con una capital P.
Entonces, el objetivo de esta función es que altera un poco nuestros datos originales, por
lo que pasamos una cadena y luego recuperamos una versión de la cadena que tiene la primera letra en mayúscula.
La lógica de cómo capitaliza realmente la primera letra no es lo que quiero enfatizar aquí.
Lo que sí quiero enfatizar es que aquí mismo tengo una ciudad variable que es París en minúscula P. Y luego capitalizo la capitalización de la ciudad y guardo el valor de retorno de una nueva variable.
Entonces, esto es algo que haremos mucho, ejecutará una función, guardará el valor de
retorno de una variable para que podamos usarla de nuevo en otro lugar.
Entonces, si se está preguntando cómo funciona esta función, la primera parte toma la primera letra.
Entonces el personaje en el índice 0 y en mayúscula es él.
Entonces eso nos daría una P mayúscula y luego la cadena de ese segmento toma un número.
En este caso 1.
Entonces eso lleva todo desde el índice 1 en adelante.
A R Supongo que todo está
en minúscula y lo rompe junto con el signo más con la P
mayúscula. Así que estamos escribiendo en mayúscula la primera letra y luego tomando todo lo demás después del primer carácter, combinando los dos y devolviéndolo.
Entonces, otro aspecto de la palabra clave return es que detiene la ejecución de una función.
Entonces, tan pronto como devolvemos algo, la función está lista.
Entonces, el objetivo de una función es que requiere algún tipo de entrada y luego devuelve algo.
Tan pronto como regrese eso es solo el final de la ejecución de la función.
Así que aquí hay un ejemplo.
Esta es la misma función con mayúscula, excepto con una pequeña diferencia.
Y esto es verificar si pasamos un número en
lugar de una cadena, que es lo que hace esta línea si el tipo de entrada es igual a un número, entonces simplemente devolvamos que no es una cadena.
No queremos molestarnos con nada de esto.
Así que este retorno si pasamos y un número se cortocircuitará y este código nunca se ejecutará
aunque no haya una instrucción L.
Entonces este código debería correr.
En realidad, no funciona en absoluto porque esto lo cortocircuita.
Si pasamos en un número de lo contrario si pasamos una cadena como París esto no es cierto.
Entonces esta declaración de retorno nunca se ejecuta.
Y luego esta declaración de devolución es incorrecta.
Entonces, lo último que quiero agregar al final aquí es que hay dos
sintaxis diferentes para declarar una función y la primera es lo que hemos estado usando.
Se llama declaración de función.
Entonces escribimos la función y luego el nombre de nuestra función.
Y luego pasamos los argumentos y reescribimos nuestro cuerpo de función dentro de los dos corchetes.
Hay otra forma de escribir una función llamada expresión de función.
Y la forma en que lo hacemos es que escribimos una variable mayúscula y la configuramos igual a una función.
Entonces estas son dos formas de definir funciones equivalentes.
Esta es una declaración y esta es una expresión.
Entonces hay una pequeña diferencia que es si declaro la función de esta manera var capitalizado es igual a la función.
Si simplemente decidí cambiar en mayúscula, será igual al número 10 o al número 15.
Mi función está perdida.
Entonces te mostraré lo que quiero decir.
Entonces voy a declarar una función var.
Decir hola es igual a una función y toda la función se cancela.
Hola.
Así.
Y entonces puedo llamar saludar y exactamente de la misma manera que las declaraciones de funciones que hemos visto.
Pero también puedo decidir que decir hola ahora es igual a 34.
Ahora, si me refiero a decir hola no puedo evaluarlo, ya no
puedo ejecutarlo como una función a medida que avanzamos hacia la clase.
Usaremos declaraciones y expresiones y también hablaremos más sobre por qué usaría uno sobre el
otro.