Ситуация, при которой переменная видима от начала своей вмещающей области видимости, несмотря на то что ее объявление может находиться ниже в области видимости, называется поднятием (hoisting).
Несмотря на объявление на верхнем уровне файла (модуля), в наружной области видимости studentName и hello не являются глобальными переменными. Они существуют на уровне модуля или, если хотите, являются модульно-глобальными.
Ссылки (не объявления) на переменные/идентификаторы считаются допустимыми в том случае, если подходящее объявление существует либо в текущей области видимости, либо в любой области видимости выше текущей, но не в области видимости более низкого уровня.