importante! ( dê like no vídeo não seja ingrato ) e recomendo da uma olhada no resto do comentário, creio que mais pra frente o fessor vai abordar esse tema mas afundo, mas se ajudar! let array1 = [11, 22, 33, 44] let array2 = array1 //observe que temos dois arrays //sendo o segundo igual ao primeiro //imprimindo temos os dois iguais console.log('array1=' + array1) console.log('array2=' + array2) /* sairá assim correto array1=11,22,33,44 array2=11,22,33,44 */ //agora observe se precisar mudar //valores no array1 ou array2 //perceberá que a alteração //afetará os dois arrays console.log('
') console.log('alterado dados sem Spread') array2[0] = 'LL' array2[1] = 'OO' array2[2] = 'OO' array2[3] = 'LL' //observe o resultado //algo deu errado era pra ser //valores diferentes em cada array console.log('array1=' + array1) console.log('array2=' + array2) /* sairá assim hummm array1=LL,OO,OO,LL array2=LL,OO,OO,LL */ //isso acontece porque que ao fazer // array2=array1 //não é criado de fato um novo array //mas uma referência um apelido //fica espelhado console.log('
') console.log('alterado dados sem Spread') array1[0] = '--' array1[1] = 'TT' array1[2] = '==' array1[3] = '\\' //observe o resultado console.log('array1=' + array1) console.log('array2=' + array2) /*sairá assim array1=--,TT,==,\\ array2=--,TT,==,\\ */ //agora se usar o operador SPREAD //teremos uma cópia console.log('
Rodei o seu código e realmente aconteceu isso, parece que ele cria um ponteiro ao invés de uma variável imdependente, já com variáveis sem array não aconteceu isso.
Excelente aula, estou acompanhando seu curso e estou entendo a mecânica do JS, mas pra fixar deveria ter exercícios pra cada aula, as primeiras foram bem tranquilas, mas essa é o tipo de aula q se n houver aplicação prática eu esquecerei
let n1 = [1,2,3,4,5]; let n2 = [10,20,30,40,50]; let n3 = [n1,n2]; // Ao se fazer a atribuição desse jeito o n3 será na verdade uma matriz com dois arrays, para se acessar por exemplo o valor 10 nessa matriz se deve usar a notação n3[1][0]; let n4 = [...n1,...n2]; // Ao se fazer a atribuição desse jeito o n4 será um array, para se acessar o valor 10 nesse array se deve usar a notação n4[5];
Eu vi que dá pra fazer spread em apenas uma array, só não sei a utilidade disso: let num1 = [1,2,3,4,5]; let num2 = [10,20,30,40,50]; let num3 = [...num1,num2]//Spread em apenas um array console.log(num3)//resposta [1, 2, 3, 4, 5, Array(5)]
Po, agora realmente entendi. Passei o vídeo todo tentando identificar a diferença. Falar apenas que "espalha", como ele fez no vídeo, deixa muito vago. Valeu por explicar.
[...] serve para você pode usar o operador spread para criar especificamente rasas (cópias superficiais) de arrays e objetos, o que é útil para evitar alterações acidentais do objeto original. um resumo bem superficial do assunto :)
Me Corrija se estiver errado, mas basicamente o uso mais apropriado é criar cópias para a manipulação ou testes, para caso ocorra algum problema ou imprevisto, eu não perca os dados originais?
Caso alguem esteja com problema de não alterar o conteúdo da div, tenta utilizar o codigo dessa forma document.addEventListener("DOMContentLoaded", function() { const objs1 = document.getElementsByTagName("div") const objs2 = [...document.getElementsByTagName("div")] objs2.forEach(element => { element.innerHTML = "curso" }) }); Dessa maneira irá sera alterado apenas após o conteudo do DOM ser carregado
const original = [ 1, 2, 3] const copia =[ original, 4] const copia2 =[...original, 4] console.log(original) [ 1, 2, 3 ] imprime original console.log(copia) [ [ 1, 2, 3 ], 4 ] sem ( ... ) vai imprimir um array com o array original , e fora do array original o 4 q foi adicionado console.log(copia2)// [ 1, 2, 3, 4 ] vai concatenar em um só array
achei esse operador muito complexo, seria mais fácil de entender ele se fosse explicando antes os arrays. Mas como eu li em "JavaScript - O guia definitivo" não é um a assunto linear. Bora quebrar a cabeça até entender hehehe
Esse curso não é bom para iniciantes, ele deu os conhecimentos da aula praticamente pressupondo que todos conhecem funções e arrays, sendo que nem deu aula disso ainda, a linha cronologia do curso não tá muito caprichada, sem falar que poderia ter falado lá no início que seria nescessário conhecimento de HTML para entender as aulas, se não tivesse tido um curso de htlm e css taria fudido agr, do nada mandou o conceito de div e usou o dev tools na aula como se fosse algo óbvio 🫤
Se for fazer um curso de Javascript e não souber o que é uma div, recomendo iniciar por HTML, CSS, depois partir para o Javascript. E outra esse vídeo é só para aprender o que o spread faz. Ele deixou claro isso, até pq array mais adiante será abordado com mais ênfase, de longe é o melhor conteúdo TOTALMENTE gratuito, didático e completo que já encontrei.
importante! ( dê like no vídeo não seja ingrato ) e recomendo da uma olhada
no resto do comentário, creio que mais pra frente o fessor vai abordar
esse tema mas afundo, mas se ajudar!
let array1 = [11, 22, 33, 44]
let array2 = array1
//observe que temos dois arrays
//sendo o segundo igual ao primeiro
//imprimindo temos os dois iguais
console.log('array1=' + array1)
console.log('array2=' + array2)
/* sairá assim correto
array1=11,22,33,44
array2=11,22,33,44
*/
//agora observe se precisar mudar
//valores no array1 ou array2
//perceberá que a alteração
//afetará os dois arrays
console.log('
')
console.log('alterado dados sem Spread')
array2[0] = 'LL'
array2[1] = 'OO'
array2[2] = 'OO'
array2[3] = 'LL'
//observe o resultado
//algo deu errado era pra ser
//valores diferentes em cada array
console.log('array1=' + array1)
console.log('array2=' + array2)
/* sairá assim hummm
array1=LL,OO,OO,LL
array2=LL,OO,OO,LL
*/
//isso acontece porque que ao fazer
// array2=array1
//não é criado de fato um novo array
//mas uma referência um apelido
//fica espelhado
console.log('
')
console.log('alterado dados sem Spread')
array1[0] = '--'
array1[1] = 'TT'
array1[2] = '=='
array1[3] = '\\'
//observe o resultado
console.log('array1=' + array1)
console.log('array2=' + array2)
/*sairá assim
array1=--,TT,==,\\
array2=--,TT,==,\\
*/
//agora se usar o operador SPREAD
//teremos uma cópia
console.log('
')
array1 = [11, 22, 33, 44]
array2 = [...array1]
//temos agora uma cópia independente
console.log('array1=' + array1)
console.log('array2=' + array2)
/* sairá assim correto
array1=11,22,33,44
array2=11,22,33,44
*/
//alterando
console.log('
')
console.log('alterando dados depois de usar Spread')
array2[0] = 'LL'
array2[1] = 'OO'
array2[2] = 'OO'
array2[3] = 'LL'
console.log('array1=' + array1)
console.log('array2=' + array2)
/*sairá assim correto
array1=11,22,33,44
array2=LL,OO,OO,LL
*/
//sacou?
Rodei o seu código e realmente aconteceu isso, parece que ele cria um ponteiro ao invés de uma variável imdependente, já com variáveis sem array não aconteceu isso.
Que bom que recuperou o canal 🙌🙌🙌
Curso ótimo. Parabéns pela didática professor
Excelente aula, estou acompanhando seu curso e estou entendo a mecânica do JS, mas pra fixar deveria ter exercícios pra cada aula, as primeiras foram bem tranquilas, mas essa é o tipo de aula q se n houver aplicação prática eu esquecerei
eu tenho usado o ChatGPT pra criar exercícios. falo qual o tema e o nível de dificuldade e peço para ele dar as respostas no final.
let n1 = [1,2,3,4,5];
let n2 = [10,20,30,40,50];
let n3 = [n1,n2]; // Ao se fazer a atribuição desse jeito o n3 será na verdade uma matriz com dois arrays, para se acessar por exemplo o valor 10 nessa matriz se deve usar a notação n3[1][0];
let n4 = [...n1,...n2]; // Ao se fazer a atribuição desse jeito o n4 será um array, para se acessar o valor 10 nesse array se deve usar a notação n4[5];
Eu vi que dá pra fazer spread em apenas uma array, só não sei a utilidade disso:
let num1 = [1,2,3,4,5];
let num2 = [10,20,30,40,50];
let num3 = [...num1,num2]//Spread em apenas um array
console.log(num3)//resposta [1, 2, 3, 4, 5, Array(5)]
@@eliascassim367 Spread é apenas para estruturas de dados simples. Eu sinceramente nunca vi alguém usar spread em complexidades maiores.
Po, agora realmente entendi. Passei o vídeo todo tentando identificar a diferença. Falar apenas que "espalha", como ele fez no vídeo, deixa muito vago.
Valeu por explicar.
Que aula genial, realmente a didática do professor é fora da curva.
as aulas são excelentes, e a didática confesso que nunca vi igual, muito bom mesmo
Já vi o seu curso de JS antigo todo mas tô aqui revendo todas desse novo, vlw professor.
Muito bom poder se atualizar, como sempre fessor bruno postando ótimos conteúdos! Parabéns pelo ótimo trabalho!🖖
Obrigado pela aula professor! Sempre que tenho dúvidas venho aqui no canal pq sei que vou entender
Outra aula show! Meu like está garantido professor.
Obrigado pela aula #CFBCursos
Grande profeesor Bruno
Fala aí Fessor, já cheguei deixando o meu like para ajudar o canal
Essa aula foi boa demais!!!
A aula foi top professor.
Muito bom, professor!
Muito boa aula
aula sensacional
Caramba!!! muito show! vou rever o vídeo
Muiiiiitoooo boa
BOA AULA
Rapaz vi essas aulas umas 5 vezes
Excelente aula!
Spread é vida..
Melhor aula, super importante, ótima explicação, obrigado por compartilhar o conhecimento, parabéns pelo seu trabalho.
Bom dia!! Parabéns pela aula...muito boa mesmo, grande abraço e obrigado por compartilhar!
excelente
Show
Aula espetacular!!!
Parabéns
Que didática incrivél tó curtindo muito.
aula top´
[...] serve para você pode usar o operador spread para criar especificamente rasas (cópias superficiais) de arrays e objetos, o que é útil para evitar alterações acidentais do objeto original. um resumo bem superficial do assunto :)
Obrigado pela aula, professor!
👍👍👍
Assistindo até na hora do almoço no trabalho.
Thanks 🙏
brabo
Excelente, obrigado!
fessor com o querySelectorAll consigo fazer foreach nos dois modos não preciso por a chave e os pontinhos né?
se tu usasses o querySelectorAll no objs1,funcionaria com o forEach
Primeira vez que ouço falar.
👊
Excelente conteúdo, Professor uma sugestão fazer um projeto um CRUD com JS Vanilla usando um banco de dados como Mysql ou PostgreSQL.
up up fessooor
Professor vai ter ELECTRON para fazer aplicativo desktop COM JAVASCRIPT?
😊
Talvez a minha compreensão vai ser mais clara, quando entender o funcionamento do array, no qual ainda não foi abordado.
Me Corrija se estiver errado, mas basicamente o uso mais apropriado é criar cópias para a manipulação ou testes, para caso ocorra algum problema ou imprevisto, eu não perca os dados originais?
O cara usou meu apelido
Caso alguem esteja com problema de não alterar o conteúdo da div, tenta utilizar o codigo dessa forma
document.addEventListener("DOMContentLoaded", function() {
const objs1 = document.getElementsByTagName("div")
const objs2 = [...document.getElementsByTagName("div")]
objs2.forEach(element => {
element.innerHTML = "curso"
})
});
Dessa maneira irá sera alterado apenas após o conteudo do DOM ser carregado
const original = [ 1, 2, 3]
const copia =[ original, 4]
const copia2 =[...original, 4]
console.log(original) [ 1, 2, 3 ] imprime original
console.log(copia) [ [ 1, 2, 3 ], 4 ] sem ( ... ) vai imprimir um array com o array original , e fora do array original o 4 q foi adicionado
console.log(copia2)// [ 1, 2, 3, 4 ] vai concatenar em um só array
Esse TH-cam não ta avisando era bom fazer um rede de contato
achei esse operador muito complexo, seria mais fácil de entender ele se fosse explicando antes os arrays. Mas como eu li em "JavaScript - O guia definitivo" não é um a assunto linear. Bora quebrar a cabeça até entender hehehe
Esse curso não é bom para iniciantes, ele deu os conhecimentos da aula praticamente pressupondo que todos conhecem funções e arrays, sendo que nem deu aula disso ainda, a linha cronologia do curso não tá muito caprichada, sem falar que poderia ter falado lá no início que seria nescessário conhecimento de HTML para entender as aulas, se não tivesse tido um curso de htlm e css taria fudido agr, do nada mandou o conceito de div e usou o dev tools na aula como se fosse algo óbvio 🫤
Cara isso é pra iniciante sim basico é aprender arrays/vetores mano
Mas toda linguagem se aprende vetores no inicio
Vetor é apenas um grupo, e cada grupo guarda valores, ai ele ensina como interagir com esses grupos chamado vetores
Se for fazer um curso de Javascript e não souber o que é uma div, recomendo iniciar por HTML, CSS, depois partir para o Javascript. E outra esse vídeo é só para aprender o que o spread faz. Ele deixou claro isso, até pq array mais adiante será abordado com mais ênfase, de longe é o melhor conteúdo TOTALMENTE gratuito, didático e completo que já encontrei.