En JavaScript moderno, hay dos operadores importantes que también debe conocer, ya que todos los usarán también
para el curso.
Y eso es descansar y extenderse.
Los operadores saben específicamente que el operador de propagación es uno que usaremos bastante.
Digamos que queremos implementar el patrón donde cuando agregamos un nuevo pasatiempo, no editamos la matriz original, sino
que creamos una nueva matriz con todos los valores antiguos.
Y el nuevo valor es en realidad un patrón bastante común llamado inmutabilidad, donde nunca agregamos
valores existentes, pero siempre los reemplazamos con copias.
Además de los cambios.
Y eso es todo un patrón.
Usaré bastante en el curso.
La idea detrás de eso es que evitamos errores porque siempre tenemos este enfoque claro de copia.
Luego agréguelo y no edite los objetos existentes que podrían conducir a un código más ilegible.
Ahora para copiar una matriz.
Digamos aquí que creo la matriz Kopit.
Tenemos un par de posibles técnicas.
Uno de ellos es utilizar para cortar el operador.
Ahora, si imprimo matrices copiadas allí y ejecuto el juego de nodos ajedrez, veo deportes y cocina.
Así que de hecho lo copié.
Slice simplemente copia una matriz.
Podemos pasar argumentos para reducir el rango de elementos que queremos copiar sin argumentos.
Copiamos toda la matriz.
Ahora, en lugar de cortar, también hay una técnica diferente.
Podemos crear una nueva matriz con corchetes y podríamos agregar la mirada de Hobbie.
¿Derecha?
¿Qué pasa si ejecutamos esto?
¿Qué veremos en la consola?
Bueno, si presiono enter, ya vemos.
Bueno, parece una copia a primera vista, pero en realidad es una matriz sin matriz.
Entonces, la matriz externa tiene solo un elemento.
Y esa es la matriz interna.
Entonces no es una copia.
Es solo una nueva matriz donde el primer elemento es la matriz anterior.
Y con eso, quiero decir exactamente el mismo objeto.
No es una copia de eso.
Así que acabamos de crear un.
Matriz anidada aquí.
Eso, por supuesto, no era lo que queríamos hacer aquí.
Y aquí podemos usar para extender el operador, el operador de propagación son puntos libres.
Podemos agregar delante de una matriz o de un objeto.
Y estos puntos libres son operadores solo como un plus o un menos R.
Y hacen una cosa.
Toman estas matrices u objetos después del operador y extraen todos los elementos o propiedades.
Entonces, todos los elementos de una matriz o todas las propiedades de un objeto y ponerlo en lo que sea que esté alrededor del diferencial de
deuda.
Operador En este caso, tenemos corchetes alrededor del margen.
Operador Y, por lo tanto, todos los elementos que se extraen de la matriz existente se agregan a la nueva
matriz.
Y por lo tanto, si ahora vuelvo a ejecutar este otoño, llora y lo guardo antes de volver a ejecutarlo.
Ahora vemos que esta fue la salida del antiguo enfoque, la matriz anidada.
Ahora ya no tenemos una matriz anidada.
Tenemos una matriz.
Y esta es ahora una copia de la anterior, porque tomamos estos operadores de propagación para extraer estos elementos
y agregarlos uno por uno a la nueva matriz.
Entonces esto es algo que verás.
Hacemos mucho para copiar matrices u objetos existentes.
Sterrett trabajaría de la misma manera.
Podríamos tener a nuestra persona copiada usando llaves.
Luego el operador de propagación, los puntos libres y luego la persona mayor.
Y ahora si una consola bloqueó a una persona copiada aquí.
Y ejecuto este otoño otra vez.
Esta es nuestra persona Kopit aquí porque estoy sacando todos estos elementos de ese objeto y lo agrego a
un nuevo objeto.
Entonces esto funciona tanto para objetos como para matrices.
Y es un Syntex.
Usaré bastante en este curso.
Ahora hace esto para extenderse.
Operador, también mencioné el operador de descanso y el operador de descanso es esencialmente lo contrario.
Digamos que tengo una función que nombraré dos matrices.
Es una función de flecha.
Y allí espero que los argumentos sean de un arco a otro.
Quiero devolver una matriz que contiene estos argumentos.
Gibson emitió en un signo igual aquí.
Entonces, cuando devuelvo una matriz que contiene estos argumentos, puedo devolver corchetes aquí, por supuesto.
Y luego el primer elemento será AAG uno.
Entonces tengo ARC dos es el segundo elemento y arc free es el primer elemento.
Ahora puedo bloquear la consola a la matriz y paso uno, dos y tres como argumentos libres para esa función.
Si ahora ejecuto jugar ajedrez, vemos una matriz con uno, dos y tres elementos D tres.
Entonces esto está funcionando, pero esto no es totalmente flexible.
¿Qué pasa si queremos pasar por argumentos?
Bueno, podríamos llamarlo así.
JavaScript en realidad lo permite.
Pero, por supuesto, no se agrega porque aquí solo trabajamos con argumentos libres.
Podríamos hacer es usar el llamado operador de descanso, querida.
Punto punto punto.
Y luego solo pregunta.
Y esto realmente tomará todos los argumentos.
Cuantos podemos especificar.
Eso no importa
Y los agrupará en una matriz para nosotros.
Así que aquí los ARG serán una matriz y puedo devolver eso en realidad.
Y ahora, si vuelvo a ejecutar esto con dos matrices obteniendo argumentos, verán, ahora tengo mi matriz con cuatro
argumentos aquí.
Por lo tanto, el operador de descanso se parece al operador de propagación.
Puntos gratis
Y es el lugar donde lo usas lo que define cómo lo llamas.
¿Lo está utilizando para extraer elementos o propiedades de matrices u objetos?
Entonces sería el operador de propagación.
¿Lo está utilizando para fusionar múltiples argumentos en una matriz?
Y lo usa en la lista de argumentos de una función.
Entonces es el operador de descanso.
Es el mismo operador por Syntex o desde una perspectiva Syntex.
El nombre difiere según el lugar donde lo use.
No voy a usar eso.
Algunos toman mucho en este curso, pero aún así es bueno saberlo.
Pero al poder extraer elementos o propiedades, datos, algo que debes entender porque papá es un Syntex,
me verás usar bastante durante todo el curso.