Страницы

Поиск по вопросам

понедельник, 25 ноября 2019 г.

Javascript: безопасны ли висячие запятые?


Один мой коллега очень любит при определении константных Javascript-объектов оставлять висячие запятые:

var myObj = {
    prop1: 'smth',
    prop2: 'smthElse', // <--- Висячая запятая!
}


Мотивирует он это тем, что при исправлении такого объекта программист получит более релевантный вывод в диффе (1 строчку вместо двух). 

Мне такой стиль очень не нравится, но по причинам также чисто эстетическим:
1. JSLint на такое ругается
2. Неподдержка в старых IE (8-). Но под них мы все равно не пишем.

Стандарт вообще говоря такое разрешает.

Внимание, вопрос: известны ли вам еще причины по которым висячие запятые стоит/н
стоит использовать? Например положительное/отрицательное влияние на сборщики-оптимизаторы или что-нибудь в этом духе
    


Ответы

Ответ 1



Строго говоря: стандарт не запрещает использование висячих запятых в инициализаторе объекта ObjectLiteral[Yield] : { } { PropertyDefinitionList[?Yield] } { PropertyDefinitionList[?Yield] , } Таким образом ставить или не ставить запятую целиком на совести разработчика. В итоге, все решается договоренностью внутри группы разработчиков, чтобы код бы однообразным. Так как это допустимый вариант инициализации - никаких влияний на оптимизацию(минимизацию) оказываться не должно, но зависит от реализации оптимизатора/минификатора. Что касается проверяльщиков: все зависит от правил, которые довольно гибко могу настраиваться. UPD: июль 2017 Добавлю, что, на июль 2017 года, один из самых популярных стайлгайдов - стайлгайд от airbnb не просто не запрещает висячие запятые, а требует их.

Комментариев нет:

Отправить комментарий