@Kotovasofa

Почему функция возвращает undefined если переменная создана с помощью let?

Есть код -
function getArray(num) { // передаем число через аргумент
  newMassive = []; // создаем пустой массив
  for (i = 1; i <= num; i++) { // проходим по переданному num
    newMassive.push(i) //пушим в массив все итерируемые значения.
  }
  return newMassive; // отдаем массив конечному пользователю
}

getArray(10);
console.log(newMassive);


Вопрос: почему если я объявляю новый массив через ключевое let - массив не возвращается из фукнции и отдает undefined? Заранее спасибо за объяснения.

function getArray(num) { // передаем число через аргумент
  let newMassive = []; // создаем пустой массив
  for (i = 1; i <= num; i++) { // проходим по переданному num
    newMassive.push(i) //пушим в массив все итерируемые значения.
  }
  return newMassive; // вернет undefined
}

getArray(10);
console.log(newMassive); // undefined
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
Nolis
@Nolis
it-гопник
Зона видимости переменной ограничена функцией,
return newMassive; // вернет undefined
тут не будет undefined. если хочешь получить значение функции, то

или объявляй глобально
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
какую-то фигню вы нагородили )

function getArray(num) { // передаем число через аргумент
  let  newMassive = []; // создаем пустой массив
  for (let i = 1; i <= num; i++) { // проходим по переданному num
    newMassive.push(i) //пушим в массив все итерируемые значения.
  }
  return newMassive; // отдаем массив конечному пользователю
}

let result = getArray(10); // получаем массив
console.log(result);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы