javascript – ¿Por qué luego de la carga de datos en el simulador de costos, los resultados siempre dan undefined?

comunidad. Espero se encuentren bien.
Por acá tengo un simulador de costos el cual al terminar la carga de datos, al realizar el procedimiento, da como “undefined” todos los valores de los resultados. El punto es que no sé por qué esto, creo que será cuando se parsean, pero no salgo de la duda. He probado cambiando elementos en los métodos del objeto y me sigue dando undefined. ¿Podrían ayudarme si son tan amables? Gracias de antemano.

// COSTO MATERIA PRIMA
let costoMaderaXcm = parseFloat(0.15)
let costoTela120Xcm2 = parseFloat(0.342)
let costoTela130Xcm2 = parseFloat(0.438)
// -----------------
alert("A continuación calcularemos el costo de un marco de madera para serigrafia, cuadrado o rectangular, segun la medida de sus lados ingresados en cm y tensado con una tela en 120 o 130 hilos")
class CostoProducto {
    constructor (ladoA, ladoB, trama, precio){
        this.ladoA = parseInt(prompt("Ingrese medida en cm del Lado A"))
        this.ladoB = parseInt(prompt("Ingrese medida en cm del Lado B"))
        this.costoMarco = this.costoMarco
        this.trama = prompt("Ingrese trama: ¿120 o 130?")
        this.costoTela = this.costoTela
        this.costoTotal = this.sumaCostos
    }
    calculoMarco(){
        this.costoMarco = parseFloat(((this.ladoA*2)+(this.ladoB*2))*costoMaderaXcm)
        return(this.costoMarco)
        }   
    calculoTela(){
        if(this.trama == 120){
        this.costoTela = parseFloat((this.ladoA*this.ladoB)*costoTela120Xcm2)
        }
        else{
            this.costoTela = parseFloat((this.ladoA*this.ladoB)*costoTela130Xcm2)
        }
        return(this.costoTela)
        }
    CostoTotal (){
        this.sumaCostos = this.costoTela+this.costoMarco
        return(this.sumaCostos)
    }
}
const CostoProducto1 = new CostoProducto()
CostoProducto1.calculoMarco()
alert("El costo del marco de madera es: "+"$"+this.costoMarco)
CostoProducto1.calculoTela()
alert("El costo de la tela en trama " + this.trama + " es de $"+ this.costoTela)
CostoProducto1.CostoTotal()
alert("El costo total de un marco de "+this.ladoA+"cm X "+this.ladoB+"cm, en trama "+this.trama+" hilos, es de $"+this.sumaCostos)