Yes, indeed. A "constructor" is actually an initialization routine, called after the object has been physically allocated in memory in order to set up the initial values. You can, therefore, call other methods within it, but I would generally caution against such a design.
What I customarily do is to define another method, say, init(), which I am obliged to call against a new object, in my own code, after having instantiated it. (I have to remember to do that, everywhere, in my application.) The constructor does basic, even generic, setup, then my init routine does more.
Since, IIRC, JavaScript really doesn't have "destructors," I also often define a free() routine which, once again, I am obliged to call on an object before allowing it to disappear into the gloom, eventually to be reaped.
It's a self-imposed discipline that seems to work well for me.
alertbutconsole.log