I'm sure your code is not doing anything right now, since you only declare variables. But the error is clear:
var salaryCalculator1 = new salaryCalculator(800);
Here you declared the variable salaryCalculator1 , but then you use the name of the function that does not have static methods:
var salary = salaryCalculator.calculateSalary("mechanic");
Which gives an error. correct code:
var salaryCalculator = function (baseSalary) { this.baseSalary = baseSalary; this.calculateSalary = function (profession) { if (profession === "mechanic") { var multiplier = 1.8; } else if (profession === "developer") { var multiplier = 2.8; } else if (profession === "doctor") { var multiplier = 3.2; } else if (profession === "professor") { var multiplier = 4.1; } else { return this.baseSalary * multiplier; } } } var salaryCalculator1 = new salaryCalculator(800); var salary = salaryCalculator1.calculateSalary("mechanic"); var salary = salaryCalculator1.calculateSalary("developer"); var salary = salaryCalculator1.calculateSalary("doctor"); var salary = salaryCalculator1.calculateSalary("professor"); console.log(salaryCalculator1.calculateSalary());