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