La función de Javascript que usa "this =" proporciona "El lado izquierdo no es válido en la asignación"

Estoy tratando de obtener un objeto JavaScript para usar las asignaciones "this" del constructor de otros objetos, así como asumir todas las funciones prototipo de esos objetos. Aquí hay un ejemplo de lo que intento lograr:

 /* The base - contains assignments to 'this', and prototype functions
  */
 function ObjX(a,b) {
     this.$a = a;
     this.$b = b;
 }

 ObjX.prototype.getB() {
     return this.$b;
 }

 function ObjY(a,b,c) {
    // here's what I'm thinking should work:
    this = ObjX(a, b * 12); 
    /* and by 'work' I mean ObjY should have the following properties:
     * ObjY.$a == a, ObjY.$b == b * 12,
     * and ObjY.getB == ObjX.prototype.getB
     * ... unfortunately I get the error: 
     *     Uncaught ReferenceError: Invalid left-hand side in assignment
     */

    this.$c = c; // just to further distinguish ObjY from ObjX.
 }

Le agradecería sus pensamientos sobre cómo hacer que ObjY subsuma las tareas de ObjX para 'esto' (es decir, no tenga que repetir todas lasthis.$* = * asignaciones en el constructor de ObjY) y haga que ObjY asuma el prototipo ObjX.

Mi primer pensamiento es intentar lo siguiente:

function ObjY(a,b,c) {
   this.prototype = new ObjX(a,b*12);
}

Idealmente, me gustaría aprender a hacer esto de una manera prototípica (es decir, no tener que usar ninguno de esos sustitutos OOP 'clásicos' comoBase2)

Cabe señalar que ObjY será anónimo (p. Ej.factory['ObjX'] = function(a,b,c) { this = ObjX(a,b*12); ... }) - si tengo la terminología correcta.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta