Pois bem, antes de qualquer coisa, eu preciso deixar claro que, eu costumo ver o vídeo e depois fazer tudo o que eu vi no vídeos só que do meu jeito, sem copiar código do vídeo, e se der algum erro, a última coisa que eu faço é olhar os códigos e comparar linha por linha.
Nesse caso, não está dando nenhum, é só que eu fiquei com uma dúvida a respeito do código que eu fiz.
Esse é o código:
"use strict"
const livros = require('./constLivros')
let [ menor ] = livros
for (let i = 0; i < livros.length; i++) {
livros[i].valor < menor.valor ? menor = livros[i] : menor = menor
}
Eu omiti o console.log, já que ele seria irrelevante aqui, mas a minha dúvida é com relação ao operador ternário.
Vou deixar um recorte do código só pra facilitar a visualização:
livros[i].valor < menor.valor ? menor = livros[i] : menor = menor
O que me incomoda é o que vem depois dos :
, como podem ver, caso isso fosse um if
convencional, não seria necessário colocar o menor = menor
, eu coloquei isso só pra dizer que nada de diferente iria acontecer com o código e que era pra ele continuar rodando, o que funciona na prática, mas me deixa bem incomodado ver isso no código.
Até procurei saber se havia alguma palavra reservada que suprisse a minha necessidade de não fazer nada e só continuar, e falando nisso, eu encontrei, a continue
, só que ao que parece ele é feito pra ser usado com o while
e não com for
, fora que, se fosse, ainda assim não seria bom, já que ele continua até que a condição dele se desfaça, o que, nesse caso, poderia não acontecer, e também ficaria muito longo o que já vai contra a ideia do operador ternário.
Queria saber se existe alguma forma de tornar o else
do operador ternário ignorável sem fazer o que eu fiz, ou se eu poderia utilizar essa sintaxe do if
sem ter nenhum problema segundo as boas práticas.
Sintaxe que eu mencionei:
if (livros[i].valor < menor.valor) { menor = livros[i] }