Почему параллельные прямые не пересекаются? Я задаю этот вопрос, так как хотелось бы понять причины, лежащие в основе этого явления. Это знание мне необходимо для использования параллельных прямых в создании независимых пространств имен в функциях.
Фигурные скобки в JavaScript используются для создания блоков кода, объединения нескольких инструкций в одной области видимости. Они также используются для определения объектов и областей видимости функций. Параллельные прямые не пересекаются, потому что они имеют одинаковый угловой коэффициент (наклон) и поэтому всегда остаются равноудаленными друг от друга. Это свойство позволяет использовать параллельные прямые для создания независимых пространств имен в функциях - каждая прямая может представлять отдельную область видимости, где переменные и функции не будут взаимодействовать с переменными и функциями из других пространств имен.
Высокоуровневое описание, в котором есть ссылка на спецификацию для изучения деталей: <br/> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/block" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaS...</a> <br/> <br/> И ещё полезно прочитать про лексическое оружие: <a href="https://learn.javascript.ru/closure#leksicheskoe-okruzhenie" rel="nofollow">https://learn.javascript.ru/closure#leksicheskoe-o...</a>
Блоки в чистом виде лучше не использовать т.к. они сильно затрудняют чтение кода, используй блоки с операторами управления, например функцию: <br/> <pre><code class="javascript">function Block1() {
let a, b, c
/* another code */
}</code></pre> <br/> <br/> или анонимную функцию: <br/> <code class="javascript">(function() { /* my code */ })()</code> <br/> <br/> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/block" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaS...</a> <br/> <br/> <blockquote>Вопрос: как это работает?</blockquote> <br/> <br/> Прочитай как работает область видимости: <a href="https://developer.mozilla.org/en-US/docs/Glossary/Scope" rel="nofollow">https://developer.mozilla.org/en-US/docs/Glossary/Scope</a> <br/> Если нужна более конкретная информация то есть спецификация: <a href="https://tc39.es/ecma262/#sec-static-semantics-varscopeddeclarations" rel="nofollow">https://tc39.es/ecma262/#sec-static-semantics-vars...</a>