Постоянный шаблон в Javascript

Как были реализованы константы в javascript до ES5 был выпущен?

Не было get/set вещи, нет writable собственности нет const слово нет Object.freeze Насколько я знаю, так как я могу сделать свою собственную константу, которую нельзя изменить?

Как, например, Math.PI

1 ответ

Решение

Как были постоянные, такие как Math.PI реализован в javascript до выхода ES5?

Даже ES3 знал атрибуты свойств - см. Раздел 8.6.1 в спецификации. Были ReadOnly, DontEnum, DontDelete а также Internal,

На самом деле, для Math.PI В спецификации указано: "Это свойство имеет атрибуты { DontEnum, DontDelete, ReadOnly }".

Тем не менее, можно (и все еще можно) перезаписать весь Math возражать с другим.

Как я мог сделать свою собственную константу, которую нельзя изменить?

Ты не мог. Не было никакого способа сделать переменные или объекты неизменяемыми, для этого вам нужно было подождать до ES6 (const) и ES5 (Object.freeze) соответственно.

Дисциплина разработчиков - все, что мешало перезаписи констант. Часто руководства по стилю включают в себя стандарты, такие как имена в верхнем регистре.

Другие вопросы по тегам