JSFiddle - React, Tailwind, and code Playground

JavaScript

/*
class Human {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    sayName() {
        return this.name;
    }

    sayAge() {
        return this.age;
    }
}

class Employee extends Human {
    constructor(salary, department, name, age) {
        super(name, age); //вызов базового конструктора

        this.department = department;
        this.salary = salary;
    }

    sayDepartment() {
        return this.department;
    }

    saySalary() {
        return this.salary;
    }
}

var e = new Employee(12321, 'IT', 'Олег', 33);
console.dir(e);
*/

/*
Задание будет следующее:

Реализуй следующую иерархию наследования:
Human -> Employee -> Manager
Human -> Employee -> Developer

1. Реализуй следующие методы для сущности Manager:
count() - количество разработчиков
add(developer) - добавить нового разработчика в команду
addMany() - добавить много разработчиков (через arguments)
setSalary(developerId, salary) - находит в массиве разработчика по его Id и задает ему ЗП
getSalaries() - получает массив зарплат всех разработчиков (можешь применить метод map)
getAvgSalary() - получает среднее по Зп всех разработчиков (можно применить метод reduce)

Для сущности Developer должны быть реализованы методы:
setManager(manager) - задает нового менеджера

Покажи работу созданных методов.
*/

class Human {
	constructor (name, age) {
  	this.name = name;
    this.age = age;
  }
}

class Employee extends Human {
	constructor (name, age, position, salary) {
  	super (name, age);
    this.position = position;
    this.salary = salary;
  } 
}

class Manager extends Employee {
	constructor (developers, name, age, position, salary) {
  	super (name, age, position, salary);
    this.developers = developers;
  }
  
  count () {
  	return this.developers.length;
  }
  
  add (developer) {
  	this.developers.push(developer);
  }
  
  addMany (developers) {
  	for (var i = 0; i < arguments.length; i++) {
    	this.developers.push(arguments[i]);
    }
 ...