const не підтримується ECMAScript. Тож після введення строгого режиму ви отримуєте синтаксичну помилку. Вам потрібно використовувати var замість const, якщо ви хочете, щоб ваш код був сумісний з усіма браузерами. Я знаю, не ідеальне рішення, але воно є. Існують способи створення властивостей лише для читання в JavaScript (див. Чи можна реалізувати властивості лише для читання в чистому JavaScript? ), Але я думаю, що це може бути надмірним у залежності від вашого сценарію.
Поточна реалізація const є специфічним для Mozilla розширенням і не є частиною ECMAScript 5. Він підтримується в Firefox & Chrome (V8). Станом на Safari 5.1.7 та Opera 12.00, якщо ви визначаєте змінну з const у цих браузерах, ви можете змінити її значення пізніше. Він не підтримується в Internet Explorer 6-10, але включений в Internet Explorer 11. Ключове слово const в даний час оголошує константу в області функцій (як змінні, оголошені з var).
Firefox, щонайменше, починаючи з версії 13, кидає TypeError, якщо ви повторно декларуєте константу. Жоден з основних браузерів не створює жодних сповіщень або помилок, якщо ви присвоюєте інше значення константі. Повертаюче значення такої операції - це нове значення, яке присвоєно, але перепризначення є невдалим лише у Firefox та Chrome (принаймні з версії 20).
const визначатиметься ECMAScript 6, але з різною семантикою. Подібно до змінних, оголошених в операторі let, константи, оголошені const, будуть блоковані.