Я думаю, ваш конструктор дочернего класса должен выглядеть следующим образом.
Constructor(id: string , name: string , department: string , salary:
number,programmingLang: string) {
super(id,name,department,salary);
this.programmingLang = programmingLang;
}
Дочерний класс имеет все свойства своего родителя, а также имеет свои специфические свойства, так что конструктор дочернего класса должен принимать все эти свойства в качестве параметра и вызывать конструктор родительского класса с теми свойствами, которые он наследует в качестве аргумента, а также инициализировать свои специфические свойства, используя это ключевое слово.
Я не программист java-скриптов, но именно так наследование работает в общем на всех языках, поддерживаемых ООП. Надеюсь, это поможет.