От зарплаты до зарплаты. Вопрос по видеообзору


#1

Сама задача проблем не вызвала, решил её следующим образом:

var calculateSalary = function (grossSalary) {
if(grossSalary < 100000) {
var tax = 0.35;
} else {
var tax = 0.45;
}
var salary = grossSalary*(1-tax);
return salary;
};

Затем решил на всякий случай посмотреть видеобзор и тут один момент вызвал вопросы. Лера почему-то совсем не рассматривает случай когда зарплата до вычета налогов будет равна ста тысячам. Проверка в обзоре имеет вид if (grossSalary > 100000), но у нас в условии задачи написано “если грязная зарплата больше или равна 100 тысячам, то налоги составляют уже 45%”, таким образом при grossSalary = 100000 функция вернет неправильное значение. Выходит что проверка должна быть либо if(grossSalary >= 100000) или if(grossSalary < 100000).


#2

Здравствуйте. Вы правы. Действительно, в скринкасте я использую знак «больше», а не« больше или равно».
Спасибо вам за внимательность, в будущем исправим.

Видео объясняет логику решения, то, в какую сторону идти для решения задачи, поэтому маленькие несоответствия задаче не так важны. В данном случае важней понять, как решать подобные задачи, как рефакторить такой код и как писать решения подобных задач проще.


#3

var calculateSalary = function(dirtyAmount) {

if(dirtyAmount <100000){
var calculateSalary = dirtyAmount - (dirtyAmount /100 * 35);

}else {
calculateSalary = dirtyAmount - (dirtyAmount /100 * 45);

}

return calculateSalary;
}
calculateSalary(40000);
я решил вот так.не очень коротко,но зато все понятно с процентами