Наследование будет наследовать только свойства, а не значения, если они не установлены в самом определении класса. Например
class SomePencil extends Pencil {
constructor(color, type) {
super(color);
this.type = type || 'common'; // Setting a default value if type is not passed
}
};
новый способ установки значений по умолчанию
class SomePencil extends Pencil {
constructor(color, type = 'common') {
super(color);
this.type = type;
}
};
См. jsfiddle