1
00:00:00,840 --> 00:00:06,120
La última pieza fundamental de las funciones de Javascript que aún tenemos que cubrir es la palabra clave return.

2
00:00:06,210 --> 00:00:10,260
Entonces, este video se enfocará conceptualmente en la palabra clave de retorno.

3
00:00:10,410 --> 00:00:14,260
Y luego también, ¿cómo escribimos las funciones que lo usan?

4
00:00:14,310 --> 00:00:17,120
Entonces me gusta imaginar que las funciones son una máquina.

5
00:00:17,230 --> 00:00:21,920
Escribimos una función y toma algunas entradas y esos serían los argumentos.

6
00:00:22,110 --> 00:00:24,530
Y hace algo con esas entradas hace matemáticas.

7
00:00:24,660 --> 00:00:29,660
Comprueba si un usuario está conectado, lo agrega a una puntuación y luego devuelve algo al final.

8
00:00:29,690 --> 00:00:32,030
Hay una salida que envía de vuelta.

9
00:00:32,430 --> 00:00:37,910
Hasta ahora, las funciones solo han recibido entradas y en realidad no han devuelto nada.

10
00:00:37,950 --> 00:00:44,960
Así que te mostraré lo que quiero decir si tenemos una función llamada Square que vimos en la última lección

11
00:00:44,970 --> 00:00:46,700
y Square tomó una entrada.

12
00:00:46,950 --> 00:00:59,710
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í.

13
00:01:00,120 --> 00:01:09,060
Así que parece que tengo un resultado que realmente tengo es algo que se imprime en la consola con el cuadro de

14
00:01:09,720 --> 00:01:14,970
diálogo de la consola, pero en realidad no tengo algo que se devuelva.

15
00:01:15,210 --> 00:01:20,140
Entonces, hay una gran diferencia.

16
00:01:20,310 --> 00:01:22,010
Si utilizo la palabra clave de retorno, significa que puedo capturar el valor que está saliendo de la función.

17
00:01:22,200 --> 00:01:28,080
En este momento no puedo capturarlo.

18
00:01:28,500 --> 00:01:30,150
Entonces, un registro constante simplemente lo imprime en la consola.

19
00:01:30,390 --> 00:01:33,110
Entonces, solo un desarrollador podría verlo de todos modos y no puedo usarlo en ninguna otra parte de mi código.

20
00:01:33,270 --> 00:01:39,100
Entonces, digamos que quería hacer algo en donde tenía una

21
00:01:39,150 --> 00:01:48,960
línea que era como cuatro cuadrados y luego quería poner lo que venga desde la casilla cuatro.

22
00:01:48,960 --> 00:01:52,320
Entonces, algo como esto, quería unir esto.

23
00:01:52,360 --> 00:01:56,120
Entonces cuatro cuadrados es más cuadrado de cuatro.

24
00:01:56,340 --> 00:02:00,620
En este momento, si hago eso, solo me dice que cuatro cuadrados no está definido.

25
00:02:00,810 --> 00:02:06,030
Y eso es porque no se devuelve nada o falta esta salida.

26
00:02:06,030 --> 00:02:09,790
Entonces, aunque imprima algo, en realidad no dura, no envía nada.

27
00:02:10,050 --> 00:02:15,460
Entonces para hacer eso usamos la palabra clave return.

28
00:02:15,480 --> 00:02:18,130
Entonces, es un cambio realmente simple.

29
00:02:18,180 --> 00:02:20,200
Recién vamos a regresar y en lugar de una tala comparable, solo escribiré return.

30
00:02:20,220 --> 00:02:26,980
Entonces, la palabra clave return devolverá una cosa por función.

31
00:02:27,480 --> 00:02:31,690
tipo de declaración if en la que en lugar de una declaración IF devolviéramos una

32
00:02:31,800 --> 00:02:37,310
cosa y en lugar de La Otra devolviéramos otra cosa pero solo una de ellas alguna vez va a regresar realmente.

33
00:02:37,980 --> 00:02:43,260
En teoría, podríamos tener múltiples declaraciones de devoluciones, pero solo la primera se ejecutará a menos que tuviéramos algún

34
00:02:43,260 --> 00:02:48,180
Entonces, en este caso, estamos devolviendo X veces x.

35
00:02:48,870 --> 00:02:52,750
Entonces, si ejecuto este ahora

36
00:02:52,860 --> 00:03:03,720
cuadrado de cuatro, puede ver que me muestra 16 pero es ligeramente diferente que antes.

37
00:03:03,720 --> 00:03:04,430
La forma en que imprimió 16 verá esta flecha aquí y me dice que es un valor de retorno.

38
00:03:04,440 --> 00:03:10,240
Entonces, si simplemente cancelo, no registre algo en sí mismo, como cancelar el registro para una impresión

39
00:03:10,500 --> 00:03:17,850
número cuatro, pero justo debajo puede ver que hay un valor de retorno en el registro constante que en realidad devuelve indefinido.

40
00:03:17,850 --> 00:03:23,400
Eso explica por qué hemos estado viendo tantos indefinidos.

41
00:03:23,610 --> 00:03:26,580
Si te has estado preguntando qué es eso.

42
00:03:26,580 --> 00:03:28,200
Me he abstenido de explicarlo hasta que hayamos llegado a la palabra clave return.

43
00:03:28,200 --> 00:03:31,480
Entonces cada función devuelve algo.

44
00:03:31,560 --> 00:03:33,730
Y si no le decimos explícitamente qué devolver, solo devuelve indefinido.

45
00:03:33,890 --> 00:03:38,490
Así que parece que teníamos nuestra función cuadrada

46
00:03:38,490 --> 00:03:45,300
y cuando la ejecutaríamos devolvió indefinido, aunque imprimió 16, todavía no se definió.

47
00:03:45,300 --> 00:03:48,990
Entonces, para usar el valor ahora para capturar la salida del cuadrado cuadrado

48
00:03:49,050 --> 00:03:57,030
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.

49
00:03:57,030 --> 00:04:03,910
Y esto va a funcionar.

50
00:04:04,140 --> 00:04:05,470
Va a pasar por un multiplicar X por x 16 y luego devolvió 16.

51
00:04:05,660 --> 00:04:11,760
Lo va a enviar fuera de la función y ponerlo aquí.

52
00:04:11,760 --> 00:04:16,170
Y entonces tenemos cuatro cuadrados es 16.

53
00:04:16,320 --> 00:04:20,370
La otra cosa que puedo hacer con la palabra clave

54
00:04:20,370 --> 00:04:24,840
return es guardarla en una variable para poder hacer algo como esto.

55
00:04:24,840 --> 00:04:25,510
El resultado Var es igual al cuadrado de 104.

56
00:04:25,740 --> 00:04:31,440
Y ahora, si miro los resultados, recibo diez mil ochocientos dieciseis.

57
00:04:32,360 --> 00:04:37,800
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.

58
00:04:37,800 --> 00:04:47,400
Así que tengo otro ejemplo de una función que devuelve algo que se llama capitalizar y toma una cadena

59
00:04:51,300 --> 00:04:57,120
como la palabra París y lo que hace es poner en mayúscula

60
00:04:57,120 --> 00:05:04,440
la primera letra y devuelve la cadena completa con la primera letra en mayúscula.

61
00:05:04,440 --> 00:05:06,670
Así que París se convierte en París con una capital P.

62
00:05:06,810 --> 00:05:11,150
Entonces, el objetivo de esta función es que altera un poco nuestros datos originales, por

63
00:05:11,330 --> 00:05:17,010
lo que pasamos una cadena y luego recuperamos una versión de la cadena que tiene la primera letra en mayúscula.

64
00:05:17,340 --> 00:05:22,540
La lógica de cómo capitaliza realmente la primera letra no es lo que quiero enfatizar aquí.

65
00:05:22,830 --> 00:05:27,450
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.

66
00:05:27,540 --> 00:05:34,840
Entonces, esto es algo que haremos mucho, ejecutará una función, guardará el valor de

67
00:05:35,280 --> 00:05:42,080
retorno de una variable para que podamos usarla de nuevo en otro lugar.

68
00:05:42,090 --> 00:05:47,850
Entonces, si se está preguntando cómo funciona esta función, la primera parte toma la primera letra.

69
00:05:47,850 --> 00:05:50,010
Entonces el personaje en el índice 0 y en mayúscula es él.

70
00:05:50,010 --> 00:05:55,050
Entonces eso nos daría una P mayúscula y luego la cadena de ese segmento toma un número.

71
00:05:55,080 --> 00:05:58,450
En este caso 1.

72
00:05:58,590 --> 00:06:04,320
Entonces eso lleva todo desde el índice 1 en adelante.

73
00:06:04,380 --> 00:06:05,800
A R Supongo que todo está

74
00:06:06,300 --> 00:06:09,530
en minúscula y lo rompe junto con el signo más con la P

75
00:06:10,080 --> 00:06:16,200
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.

76
00:06:16,200 --> 00:06:21,360
Entonces, otro aspecto de la palabra clave return es que detiene la ejecución de una función.

77
00:06:21,360 --> 00:06:23,610
Entonces, tan pronto como devolvemos algo, la función está lista.

78
00:06:24,360 --> 00:06:29,230
Entonces, el objetivo de una función es que requiere algún tipo de entrada y luego devuelve algo.

79
00:06:29,610 --> 00:06:32,900
Tan pronto como regrese eso es solo el final de la ejecución de la función.

80
00:06:33,240 --> 00:06:37,700
Así que aquí hay un ejemplo.

81
00:06:37,710 --> 00:06:41,440
Esta es la misma función con mayúscula, excepto con una pequeña diferencia.

82
00:06:41,640 --> 00:06:43,080
Y esto es verificar si pasamos un número en

83
00:06:43,110 --> 00:06:47,450
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.

84
00:06:47,460 --> 00:06:54,100
No queremos molestarnos con nada de esto.

85
00:06:54,100 --> 00:07:00,020
Así que este retorno si pasamos y un número se cortocircuitará y este código nunca se ejecutará

86
00:07:00,210 --> 00:07:02,260
aunque no haya una instrucción L.

87
00:07:02,340 --> 00:07:08,640
Entonces este código debería correr.

88
00:07:08,640 --> 00:07:09,990
En realidad, no funciona en absoluto porque esto lo cortocircuita.

89
00:07:10,140 --> 00:07:11,960
Si pasamos en un número de lo contrario si pasamos una cadena como París esto no es cierto.

90
00:07:12,000 --> 00:07:15,450
Entonces esta declaración de retorno nunca se ejecuta.

91
00:07:15,480 --> 00:07:20,690
Y luego esta declaración de devolución es incorrecta.

92
00:07:20,760 --> 00:07:22,620
Entonces, lo último que quiero agregar al final aquí es que hay dos

93
00:07:22,830 --> 00:07:24,990
sintaxis diferentes para declarar una función y la primera es lo que hemos estado usando.

94
00:07:26,040 --> 00:07:31,170
Se llama declaración de función.

95
00:07:31,380 --> 00:07:35,330
Entonces escribimos la función y luego el nombre de nuestra función.

96
00:07:35,340 --> 00:07:37,410
Y luego pasamos los argumentos y reescribimos nuestro cuerpo de función dentro de los dos corchetes.

97
00:07:37,980 --> 00:07:41,060
Hay otra forma de escribir una función llamada expresión de función.

98
00:07:41,280 --> 00:07:47,220
Y la forma en que lo hacemos es que escribimos una variable mayúscula y la configuramos igual a una función.

99
00:07:47,250 --> 00:07:50,660
Entonces estas son dos formas de definir funciones equivalentes.

100
00:07:51,000 --> 00:07:58,560
Esta es una declaración y esta es una expresión.

101
00:07:59,640 --> 00:08:02,970
Entonces hay una pequeña diferencia que es si declaro la función de esta manera var capitalizado es igual a la función.

102
00:08:02,970 --> 00:08:05,980
Si simplemente decidí cambiar en mayúscula, será igual al número 10 o al número 15.

103
00:08:06,270 --> 00:08:13,260
Mi función está perdida.

104
00:08:13,890 --> 00:08:19,970
Entonces te mostraré lo que quiero decir.

105
00:08:20,100 --> 00:08:21,720
Entonces voy a declarar una función var.

106
00:08:22,200 --> 00:08:24,000
Decir hola es igual a una función y toda la función se cancela.

107
00:08:24,840 --> 00:08:27,260
Hola.

108
00:08:27,300 --> 00:08:36,430
Así.

109
00:08:37,180 --> 00:08:38,240
Y entonces puedo llamar saludar y exactamente de la misma manera que las declaraciones de funciones que hemos visto.

110
00:08:38,640 --> 00:08:40,350
Pero también puedo decidir que decir hola ahora es igual a 34.

111
00:08:40,990 --> 00:08:47,550
Ahora, si me refiero a decir hola no puedo evaluarlo, ya no

112
00:08:47,910 --> 00:08:54,790
puedo ejecutarlo como una función a medida que avanzamos hacia la clase.

113
00:08:54,880 --> 00:09:03,690
Usaremos declaraciones y expresiones y también hablaremos más sobre por qué usaría uno sobre el

114
00:09:03,690 --> 00:09:04,350
otro.

115
00:09:04,380 --> 00:09:09,510
&nbsp;

116
00:09:09,510 --> 00:09:10,620
&nbsp;
