No JavaScript moderno, você também deve estar ciente de dois operadores importantes, pois todos os estão usando
também para o curso.
E isso é para descansar e se espalhar.
Os operadores sabem especificamente que o operador de spread é aquele que usaremos bastante.
Digamos que queremos implementar o padrão em que, quando adicionamos um novo hobby, não editamos a matriz original,
mas criamos uma nova matriz com todos os valores antigos.
E o novo valor é realmente um padrão bastante comum chamado imutabilidade, onde nunca adicionamos
valores existentes, mas sempre os substituímos por cópias.
Além das mudanças.
E isso é tudo um padrão.
Vou usar bastante no curso.
A idéia por trás disso é que evitamos erros, porque sempre temos essa abordagem clara da cópia.
Em seguida, adicione-o e não edite objetos existentes que possam levar a um código mais ilegível.
Agora, copie uma matriz.
Digamos que aqui eu criei o array Kopit.
Temos algumas técnicas possíveis.
Uma delas é usar para cortar o operador.
Agora, se eu exibir arrays copiados lá em baixo e executar o nó jogar xadrez, vejo esportes e culinária.
Então eu realmente copiei.
Fatia simplesmente copia uma matriz.
Podemos passar argumentos para restringir o intervalo de elementos que queremos copiar sem argumentos.
Copiamos toda a matriz.
Agora, em vez de cortar, também há uma técnica diferente.
Podemos criar uma nova matriz com colchetes e adicionar o olhar de Hobbie.
Direita?
Agora, o que acontece se executarmos isso?
O que veremos no console?
Bem, se eu pressionar enter, nós vemos.
Bem, parece uma cópia à primeira vista, mas na verdade é uma matriz sem matriz.
Portanto, a matriz externa possui apenas um elemento.
E essa é a matriz interna.
Portanto, não é uma cópia.
É apenas uma nova matriz onde o primeiro elemento é a matriz antiga.
E com isso, quero dizer exatamente o mesmo objeto.
Não é uma cópia disso.
Então nós apenas criamos um.
Matriz aninhada aqui.
Isso, é claro, não era o que queríamos fazer aqui.
E aqui podemos usar o operador de propagação, o operador de propagação são pontos livres.
Podemos adicionar na frente de uma matriz ou de um objeto.
E esses pontos livres são operadores como um mais ou um R.
E eles fazem uma coisa.
Eles pegam essa matriz ou objeto após o operador e retiram todos os elementos ou propriedades.
Então, todos os elementos de uma matriz ou todas as propriedades de um objeto e colocá-lo no que quer que esteja ao redor do spread da
dívida.
Operador Nesse caso, temos colchetes ao redor do spread.
Operador E, portanto, todos os elementos extraídos da matriz existente são adicionados à nova
matriz.
E, portanto, se agora eu executar este outono novamente, solto e o salvo antes de executá-lo novamente.
Agora vemos que esse foi o resultado da abordagem antiga, a matriz aninhada.
Agora não temos mais matriz aninhada.
Temos uma matriz.
E agora é uma cópia do antigo, porque pegamos esses operadores espalhados para extrair esses elementos e
os adicionamos um a um à nova matriz.
Então isso é algo que você verá.
Fazemos muito para copiar matrizes ou objetos existentes.
Sterrett funcionaria da mesma maneira.
Poderíamos ter nossa pessoa copiada usando chaves.
Em seguida, o operador de propagação, os pontos livres e depois a pessoa idosa.
E agora, se um console trava uma pessoa copiada aqui.
E eu executo esta queda novamente.
Esta é a nossa pessoa Kopit aqui porque estou retirando todos esses elementos desse objeto e adiciono-o a
um novo objeto.
Portanto, isso funciona para objetos e matrizes.
E é um Syntex.
Vou usar um pouco neste curso.
Agora faz isso para se espalhar.
Operador, eu também mencionei o operador descanso e o operador descanso é essencialmente o oposto.
Digamos que eu tenho uma função que vou nomear duas matrizes.
É uma função de seta.
E aí espero que os argumentos sejam um arco livre.
Eu quero retornar uma matriz que contém esses argumentos.
Gibson emitido em um sinal de igual aqui.
Então, quando eu retornar uma matriz que contém esses argumentos, eu posso retornar colchetes aqui, é claro.
E então o primeiro elemento será o AAG.
Então eu tenho ARC dois é o segundo elemento e sem arco é o primeiro elemento.
Agora eu posso consolar o bloqueio do array e passo um, dois e três como argumentos livres para essa função.
Se eu agora executar jogo de xadrez, vemos uma matriz com um, dois e três D três elementos.
Portanto, isso está funcionando, mas isso não é totalmente flexível.
E se quisermos passar por argumentos?
Bem, podemos chamar assim.
JavaScript realmente permite isso.
Mas é claro que não é adicionado porque trabalhamos apenas com argumentos livres aqui.
O que poderíamos fazer é usar o chamado operador de descanso, querida.
Ponto ponto Ponto.
E então apenas pergunta.
E isso realmente leva todos os argumentos.
Quantos podemos especificar.
Isso não importa.
E os agrupará em uma matriz para nós.
Portanto, aqui os ARGs serão uma matriz e eu posso retornar isso de fato.
E agora, se eu executar isso com dois array obtendo argumentos, veja agora eu tenho meu array com quatro
argumentos aqui.
Portanto, o operador restante se parece com o operador de propagação.
Pontos grátis.
E é o lugar onde você o usa que define como você o chama.
Você está usando para extrair elementos ou propriedades de matrizes ou objetos?
Então seria o operador de spread.
Você está usando para mesclar vários argumentos em uma matriz?
E você o usa na lista de argumentos de uma função.
Então é o operador restante.
É o mesmo operador do Syntex ou da perspectiva do Syntex.
O nome difere dependendo do local onde você o usa.
Eu não vou usar isso.
Alguns levam muito neste curso, mas ainda é bom saber.
Mas, sendo capaz de extrair elementos ou propriedades, dados, algo que você deve entender porque o pai é um Syntex,
você me verá usar bastante ao longo do curso.