javascript – Cómo pedir datos para un carrito de compras?

Estoy tratando de hacer un carrito de compras (que en realidad es un menú virtual pero para el caso sería lo mismo) y me encuentro con el siguiente problema: tengo los objetos de los productos creados cada uno agregado luego a una lista, pero a partir de ahí no sé cómo encarar para pedirle al usuario que elija una opción y con esos datos calcular el precio final (y mostrarlo). Mi consulta apunta a mostrar todo por consola sin interactuar con el HTML ya que todavía no he visto DOM. Si alguien me puede orientar sería realmente de mucha ayuda 🙏. Este es mi código:

class Sopa {
    constructor (nombre, estado, precio) {
        this.nombre = nombre;
        this.estado = estado;
        this.precio = parseInt(precio);
        this.vendido = false;
    }
    vender() {
        this.vendido = true;
    }

    mostrarSopa() {
        console.log ("Sopa: " + this.nombre + ", Estado: " + this.estado + ", Precio: $" + this.precio);
    }
}

const sopa1 = new Sopa ("vichysoisse", "caliente", 160);
const sopa2 = new Sopa ("aubergine", "caliente", 160);
const sopa3 = new Sopa ("leche de tigre", "fría", 180);
const sopa4 = new Sopa ("borsch", "caliente", 160);
const sopa5 = new Sopa ("gazpacho", "fría", 170);

const sopas = ();
sopas.push (sopa1, sopa2, sopa3, sopa4, sopa5);
console.log(sopas);



class Roll {
    constructor (nombre, precio) {
        this.nombre = nombre;
        this.precio = parseInt(precio);
        this.vendido = false;
    }
    vender() {
        this.vendido = true;
    }
    
    mostrarRoll() {
        console.log ("Roll: " + this.nombre + ", Precio: $" + this.precio);
    }
}

const roll1 = new Roll ("nem", 210);
const roll2 = new Roll ("carne", 185);
const roll3 = new Roll ("pollo", 185);
const roll4 = new Roll ("salmon", 210);
const roll5 = new Roll ("panceta", 180);
const roll6 = new Roll ("caprese", 180);
const roll7 = new Roll ("falafel", 180);

const rolls = ();
rolls.push (roll1, roll2, roll3, roll4, roll5, roll6, roll7);
console.log(rolls);



class Bebida {
    constructor (tipo, marca, precio) {
        this.tipo = tipo;
        this.marca = marca;
        this.precio = parseInt(precio);
        this.vendido = false;
    }
    vender() {
        this.vendido = true;
    }

    mostrarBebida() {
        console.log ("Tipo: " + this.tipo + ", Marca: " + this.marca + ", Precio: $" + this.precio);
    }
}


const bebida1 = new Bebida ("limonada", "artesanal", 100);
const bebida2 = new Bebida ("jugo de naranja", "artesanal", 80);
const bebida3 = new Bebida ("agua mineral", "villavicencio", 90);
const bebida4 = new Bebida ("cerveza", "quilmes", 110);
const bebida5 = new Bebida ("cerveza", "patagonia", 140);
const bebida6 = new Bebida ("cerveza", "corona", 140);

const bebidas = ();
bebidas.push (bebida1, bebida2, bebida3, bebida4, bebida5, bebida6);
console.log (bebidas)

Muchas gracias de antemano!!