user_of_toster
@user_of_toster

Почему const \ let variable недоступны из песочницы?

const vm = require('vm');

const context = {};

const code = `
  const v1 = 5;
  const v2 = 8;
  var c1 = 4;
  var c2 = 5;
`;

vm.runInNewContext(code, context);

console.dir(context)


Почему из context мне доступны только c1 и c2? Я ведь не оборачивал v1 и v2 в отдельный блок вот так:
const code = `
  {const v1 = 5;
  const v2 = 8;}
  var c1 = 4;
  var c2 = 5;
`;

Т.е, по сути v1 и v2 должны были попасть в глобальную область видимости внутри песочницы как v1 и v2, а значит и в context, нет?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
ruddy22
@ruddy22
Спасение утопающих — дело рук самих утопающих
Если коротко, то влияет область видимости!
Статья про различия между let/const/var.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 1 600 до 4 200 $
Foodtronics Москва
от 180 000 до 220 000 ₽
SoftMediaLab Екатеринбург
До 180 000 ₽
29 нояб. 2020, в 01:43
15000 руб./за проект
29 нояб. 2020, в 01:16
500 руб./за проект
29 нояб. 2020, в 00:50
800 руб./за проект