freeCodeCamp/guide/russian/javascript/semicolons/index.md

29 lines
3.0 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Semicolons
localeTitle: Точка с запятой
---
Точки с запятой не требуются в Javascript. Это связано с тем, что Javascript имеет функцию «Automatic Semicolon Insertion» или ASI для краткости. ASI помещает точки с запятой в ваш Javascript для вас. Он всегда активен по умолчанию, и он является частью языка и не может быть отключен.
ASI имеет набор правил, которые он использует, чтобы определить, где он должен вставить точки с запятой. Если уже имеется точка с запятой, это ничего не изменит. См. [Этот ответ StackOverflow](http://stackoverflow.com/a/2846298/3467946) для получения дополнительной информации о том, как работает ASI.
Существует только один случай, когда ASI завершается с ошибкой: когда строка начинается с открывающей скобки `(` Чтобы избежать этой ошибки, когда линия начинается с открывающей скобки, вы можете положить точку с запятой в начале строки с открытой скобой :
```js
;(function() {
console.log('Hi!')
})
```
Обратите внимание, что это необходимо только в том случае, если вы не используете точки с запятой.
Согласованный стиль кодирования делает код более читаемым. Решите, будете ли вы или не будете использовать точки с запятой, и делайте это везде.
## Ошибки, которые могут возникнуть
Когда Javascript был впервые создан, он призван помочь начинающим программистам. Никто не хочет искать дэн-двоеточие в своем коде, когда они начинают программировать. Таким образом, выбор полуколонок был реализован, как указано выше, они технически существуют.
Например: `javasctipt function foo(x) { return function(y) { return x + y; } } let z = foo(10); z(10)// TypeError z is not a function // Because of Automatic Semicolon Insertion, our inner function does not exist.` Javasctipt будет реализовывать полуколоны, где они ожидаются.
### Другие источники
[Открытое письмо лидерам JavaScript в отношении точек с запятой](http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding)