Соль в том, что совершенно не важно, как вы присвоите значение константе в первый раз. Это может быть:
var A = "foo";
var B = (function () {return 'bar';})();
var C = B;
И всё, дальше вы только читаете их значения, но никогда больше не присваиваете.
В современном JS, константы - это не более чем соглашение. Пишите название переменной заглавными буквами и всё, она как бы константа. Конечно есть приемы, позволяющие делать настоящие константы, изменить которые нельзя после.
В новом JS (ECMAscript 6 и выше). Работа с константами выведена на новый уровень, теперь есть специальное ключевое слово для их объявления, на равне с var):
const A = "foo";
const B = (function () {return 'bar';})();
const C = B;
// и теперь если вы попробуете снова присвоить значение
A = 'baz';
console.log(A); // по прежнему 'foo'!