Error reading variable using WeakMap

0

var person = {
    nome: 'Bruno',
    sobrenome: 'Coelho'
};
nomeMap = new WeakMap();
function nomeCompleto(){
    nomeMap.set(this, {
        nome: person.nome
    });
    nomeMap.set(this, {
        sobrenome: person.sobrenome
    });
    return console.log(nomeMap.get(this).nome + ' ' + nomeMap.get(this).sobrenome);
}
nomeCompleto();
I do not understand why it only reads the surname and not the variable name, how can I solve it?     
asked by anonymous 29.05.2018 / 22:21

1 answer

0

The last instance is overriding the first. Use only one, like this:

var person = {
    nome: 'Bruno',
    sobrenome: 'Coelho'
};
nomeMap = new WeakMap();
function nomeCompleto(){
    nomeMap.set(this, {
        nome: person.nome,
        sobrenome: person.sobrenome
    });
    return console.log(nomeMap.get(this).nome + ' ' + nomeMap.get(this).sobrenome);
}
nomeCompleto();
    
29.05.2018 / 22:41