Javascript 有没有一种方法可以实例化一个子类而不继承特定的属性?

Javascript 有没有一种方法可以实例化一个子类而不继承特定的属性?,javascript,class,inheritance,properties,Javascript,Class,Inheritance,Properties,让我们假设以下代码: class Animal{ constructor(name){ this.name=name; } } class Dog extends Animal{ constructor(lastname){ super(); this.lastname=lastname; } } var animal = new Animal('jim'); var rudy = new Dog('rudy'); 除了在子类实例化后删除rudy.n

让我们假设以下代码:

class Animal{
  constructor(name){
    this.name=name;
  }
}

class Dog extends Animal{
  constructor(lastname){
    super();
    this.lastname=lastname;
  }
}

var animal = new Animal('jim');
var rudy = new Dog('rudy');

除了在子类实例化后
删除rudy.name
之外,还有其他方法可以直接实例化子类而不使用父类的name属性吗?

您可以使用非字符串值覆盖它,特别是
未定义的
,这类似于不存在的属性:

class Dog extends Animal{
  constructor(lastname){
    super(undefined);
    this.lastname=lastname;
  }
}

但实际上,如果您的类没有“父”类所具有的所有属性,那么它根本不应该是子类-它将违反违反违反oop原则的。