Один мой коллега очень любит при определении константных Javascript-объектов оставлять висячие запятые:
var myObj = {
prop1: 'smth',
prop2: 'smthElse', // <--- Висячая запятая!
}
Мотивирует он это тем, что при исправлении такого объекта программист получит более релевантный вывод в диффе (1 строчку вместо двух).
Мне такой стиль очень не нравится, но по причинам также чисто эстетическим:
1. JSLint на такое ругается
2. Неподдержка в старых IE (8-). Но под них мы все равно не пишем.
Стандарт вообще говоря такое разрешает.
Внимание, вопрос: известны ли вам еще причины по которым висячие запятые стоит/н
стоит использовать? Например положительное/отрицательное влияние на сборщики-оптимизаторы или что-нибудь в этом духе
Ответы
Ответ 1
Строго говоря: стандарт не запрещает использование висячих запятых в инициализаторе объекта
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
Таким образом ставить или не ставить запятую целиком на совести разработчика.
В итоге, все решается договоренностью внутри группы разработчиков, чтобы код бы
однообразным.
Так как это допустимый вариант инициализации - никаких влияний на оптимизацию(минимизацию) оказываться не должно, но зависит от реализации оптимизатора/минификатора.
Что касается проверяльщиков: все зависит от правил, которые довольно гибко могу
настраиваться.
UPD: июль 2017
Добавлю, что, на июль 2017 года, один из самых популярных стайлгайдов - стайлгайд от airbnb не просто не запрещает висячие запятые, а требует их.
Комментариев нет:
Отправить комментарий