var meusDados = {
nome: 'Bruno Coelho',
email: '[email protected]',
idade: 23
};
var dados;
for(dados in meusDados){
console.log(meusDados[dados]);
}
Why declare the data variable before for / in is required?
var meusDados = {
nome: 'Bruno Coelho',
email: '[email protected]',
idade: 23
};
var dados;
for(dados in meusDados){
console.log(meusDados[dados]);
}
Why declare the data variable before for / in is required?
Why not declare, where will you store the content during the loop? The variable must exist to receive the value. But it need not necessarily be before the bond; can be inside of it too, which I find particularly readable.
var meusDados = {
nome: 'Bruno Coelho',
email: '[email protected]',
idade: 23
};
for(var dados in meusDados){
console.log(meusDados[dados]);
}
// Perceba que dados continua existindo fora do laço
console.log(dados);
I put a console.log
at the end showing that the dados
variable still exists even outside the loop. Depending on your taste, you may find that this pollutes the overall scope, because a variable that is used in only one specific location continues to exist outside of it. If so and you want to avoid such an occurrence, you can use let
:
const meusDados = {
nome: 'Bruno Coelho',
email: '[email protected]',
idade: 23
};
for(let dados in meusDados){
console.log(meusDados[dados]);
}
// Perceba que dados NÃO continua existindo fora do laço
console.log(dados);
What is the difference between declaring variables using let and var?
No need, it can be inside the loop, it's even ideal:
var meusDados = {
nome: 'Bruno Coelho',
email: '[email protected]',
idade: 23
};
for (var dados in meusDados) {
console.log(meusDados[dados]);
}