10 основных ошибок JavaScript


Хороший совет — знать своего врага, но знаете ли вы, какие ошибки чаще всего допускаются в вашем любимом языке программирования? Rollbar просмотрел более 1000 реальных проектов и составил список из десяти самых распространенных ошибок в JavaScript.

Rollbar — это утилита регистрации ошибок, которая включает удаленную отчетность, поэтому она естественна для сбора проблем, возникающих с настоящими программами JavaScript в производственной среде.

Как вы думаете, какие будут наиболее частые ошибки?

Rollbar сообщает о следующих десяти ошибках:

Первые два — это немного обман, потому что они представляют собой ту же ошибку, о которой сообщают Chrome и Safari, но если вы присмотритесь, большинство ошибок относятся к одному типу — попытке использовать свойство или метод, которые объект не выполняет у меня нет. На этом этапе возникает соблазн сделать вывод: «Чего еще вы ожидаете от слабо типизированного динамического языка!». Однако это ошибки времени выполнения, которые, возможно, не были обнаружены строгой типизацией.

Блог Rollbar предполагает, что большинство этих проблем возникает из-за состояния гонки в асинхронных операциях. Например, попытка доступа к элементу DOM до завершения загрузки компонента.

Знать, что использование свойств или методов, которые не существуют, является самым большим набором ошибок в JavaScript, интересно, но на самом деле это просто подтверждает наши ожидания. Было бы более интересно узнать, почему возникают эти ошибки. В конце концов, если вы сделаете ошибку, которую строгая типизация обнаружит во время компиляции, то вы увидите аналогичную ошибку во время выполнения, как только будет выполнен ошибочный код. Вопрос в том, что происходит, когда объект, у которого должно быть свойство или метод, не имеет этого свойства или метода во время выполнения?

Единственные случаи, о которых я могу думать, — это уже описанное и подобное состояние гонки, а также возникновение крайних случаев, когда функции вообще не возвращают объект.

Требуется больше данных.


Добавить комментарий