В чем разница между созданием блоками контекста в JavaScript и Python

«В чем разница между созданием блоками контекста в JavaScript и Python» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В JavaScript контекст создается с помощью {} (фигурных скобок) и ограничивает область видимости переменных, объявленных через let и const. В Python блоки контекста создаются отступами (обычно 4 пробела) и не создают новой области видимости - переменные, объявленные внутри блока, видны снаружи.

Пример в JavaScript:

{
  let x = 10;
  console.log(x); // 10
}
console.log(x); // ReferenceError

Пример в Python:

if True:
    x = 10
    print(x)  # 10
print(x)  # 10 - переменная доступна

Ключевое отличие: в JS блок создает новую область видимости, в Python - нет.