1
resposta

Atividade colecionador!

Fui executar o codigo da atividade abaxo:

const colecionador = {
    nome: "João do Gibi",
    idade:41,
    tipocolecao: ["quadrinhos"],
    contato: "joao@email.com"
}
adicionarTipo:function(propriedade,tipo){
    this[propriedade].push(tipo)
}
for(i = 0; i < 4; i++) {
        colecionador.adicionarTipo("tipocolecao","HQ"+i)
}
console.log(colecionador.nome)
console.log(colecionador["nome"])

Porem esta ocorrendo erro na adicionarTipo:

function(propriedade){
              ^^^^^^^^

SyntaxError: Function statements require a function name . 

Aguém poderia me explicar esse erro na sentax nesta atividade passada no matreial?

1 resposta

Bom dia, tudo certo?

Esse erro aconteceu pois a função adicionarTipo que você forneceu não está no escopo do objeto colecionador. Ou seja: você fechou as chaves {} antes de declarar a função como uma das propriedades do objeto. Para que o código funcione como desejado, ele precisa ser algo desse tipo:

const colecionador = {
    nome: "João do Gibi",
    idade:41,
    tipocolecao: ["quadrinhos"],
    contato: "joao@email.com",
    adicionarTipo:function(propriedade,tipo){
        this[propriedade].push(tipo)
    }
}

for(i = 0; i < 4; i++) {
    colecionador.adicionarTipo("tipocolecao","HQ"+i)
}
console.log(colecionador.nome)
console.log(colecionador["nome"]) 

Espero ter ajudado e bons estudos!