Вы используете оператор строгого равенства (===
), который не выполняет преобразования типов для операндов.Если subject
- это строка, это объясняет это, потому что "0" === 0
- это false
.В этом сценарии вам нужно либо преобразовать subject
в число (просто добавив к нему +
, либо использовать ==
, чтобы сделать равенство с проверкой преобразования.
Новся ваша логика if/then
, а также проблема строк / чисел может быть устранена, если вы просто используете массив.
let subjects = ["Deutsch", "Englisch", "Latein", "Kunst", "Musik", "Instrument/G. (Additum)", "Französisch (spät.)", "Theater und Film"];
function getSubjectByNumber(subject_number) {
return subjects[subject_number];
}
console.log(getSubjectByNumber(0));
console.log(getSubjectByNumber("0"));
console.log(getSubjectByNumber(6));
console.log(getSubjectByNumber(7));