Постоянный шаблон в Javascript
1 ответ
Как были постоянные, такие как
Math.PI
реализован в javascript до выхода ES5?
Даже ES3 знал атрибуты свойств - см. Раздел 8.6.1 в спецификации. Были ReadOnly
, DontEnum
, DontDelete
а также Internal
,
На самом деле, для Math.PI
В спецификации указано: "Это свойство имеет атрибуты { DontEnum, DontDelete, ReadOnly }".
Тем не менее, можно (и все еще можно) перезаписать весь Math
возражать с другим.
Как я мог сделать свою собственную константу, которую нельзя изменить?
Ты не мог. Не было никакого способа сделать переменные или объекты неизменяемыми, для этого вам нужно было подождать до ES6 (const
) и ES5 (Object.freeze
) соответственно.
Дисциплина разработчиков - все, что мешало перезаписи констант. Часто руководства по стилю включают в себя стандарты, такие как имена в верхнем регистре.