Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

console.log não identifica o elemento, só imprime o que está escrito... como se não reconhecesse o "${}"

const livros = require('./listaLivros');

let maisBarato = 0;

for (let atual = 0; atual < livros.length; atual++){
    //código
    if (livros[atual].preco < livros[maisBarato].preco){
        maisBarato = atual;
    }
}

console.log('O livro mais barato custa ${livros.[maisBarato].preco} e o título é ${livros[maisBarato].titulo}')

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Parece que vc colocou o texto entre aspas simples, pra fazer uso de template strings vc deve colocar o texto entre acentos graves ( ` ). Esse é fácil confundir.

console.log(`O livro mais barato custa ${livros.[maisBarato].preco} e o título é ${livros[maisBarato].titulo}`)
solução!

Boa tarde!

Jeferson, em JavaScript, quando você usa a template string (${}), você precisa envolver seu texto com acento grave, não com aspas.

Seu texto com template string deveria estar assim:

console.log(`O livro mais barato custa ${livros.[maisBarato].preco} e o título é ${livros[maisBarato].titulo}`)

Um texto normal leva aspas duplas ou simples:

console.log("Texto normal com aspas duplas")
console.log('Texto normal com aspas simples')

Outra opção seria ter feito assim (mas não é muito legível, então tente dar preferência à template string):

console.log("O livro mais barato custa " + livros.[maisBarato].preco + " e o título é " + livros[maisBarato].titulo)

Valeu pessoal! Não sabia dessa kkkkk