<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>История возникновения on JSFlow</title><link>https://jsflow.ru/docs/intro/</link><description>Recent content in История возникновения on JSFlow</description><generator>Hugo</generator><language>ru</language><atom:link href="https://jsflow.ru/docs/intro/index.xml" rel="self" type="application/rss+xml"/><item><title>Где выполняется JavaScript</title><link>https://jsflow.ru/docs/intro/runtime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jsflow.ru/docs/intro/runtime/</guid><description>&lt;h1 id="где-выполняется-javascript"&gt;
 Где выполняется JavaScript
 &lt;a class="anchor" href="#%d0%b3%d0%b4%d0%b5-%d0%b2%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d1%8f%d0%b5%d1%82%d1%81%d1%8f-javascript"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;JavaScript выполняется в среде (runtime)&lt;/strong&gt;, которая предоставляет движок языка и набор встроенных API. Один и тот же синтаксис ES работает в разных местах, но доступные объекты — &lt;code&gt;window&lt;/code&gt;, &lt;code&gt;document&lt;/code&gt;, &lt;code&gt;fs&lt;/code&gt;, &lt;code&gt;fetch&lt;/code&gt; — зависят от среды, а не от самого языка.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="браузер"&gt;
 Браузер
 &lt;a class="anchor" href="#%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;В браузере JavaScript управляет страницей: реагирует на клики, меняет DOM, отправляет запросы, хранит данные в &lt;code&gt;localStorage&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; document.&lt;span style="color:#a6e22e"&gt;querySelector&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;#notify&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;button&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;click&amp;#39;&lt;/span&gt;, () =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;button&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;textContent&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;Отправлено&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Браузерная среда включает:&lt;/p&gt;</description></item><item><title>Спецификация и справочники</title><link>https://jsflow.ru/docs/intro/spec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://jsflow.ru/docs/intro/spec/</guid><description>&lt;h1 id="спецификация-и-справочники"&gt;
 Спецификация и справочники
 &lt;a class="anchor" href="#%d1%81%d0%bf%d0%b5%d1%86%d0%b8%d1%84%d0%b8%d0%ba%d0%b0%d1%86%d0%b8%d1%8f-%d0%b8-%d1%81%d0%bf%d1%80%d0%b0%d0%b2%d0%be%d1%87%d0%bd%d0%b8%d0%ba%d0%b8"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;ECMAScript&lt;/strong&gt; — официальный стандарт языка JavaScript: синтаксис, типы, встроенные объекты (&lt;code&gt;Array&lt;/code&gt;, &lt;code&gt;Promise&lt;/code&gt;, &lt;code&gt;Map&lt;/code&gt;). Всё остальное — DOM, &lt;code&gt;fetch&lt;/code&gt;, &lt;code&gt;localStorage&lt;/code&gt; — описывают отдельные спецификации Web-платформы и документация сред выполнения.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="ecmascript-и-tc39"&gt;
 ECMAScript и TC39
 &lt;a class="anchor" href="#ecmascript-%d0%b8-tc39"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Стандарт развивает комитет &lt;strong&gt;TC39&lt;/strong&gt; (Ecma International). Версии с ES2015 выходят ежегодно: ES2020, ES2024 и т.д. Номер «ES6» и «ES2015» — одно и то же обновление.&lt;/p&gt;
&lt;p&gt;Спецификация ECMA-262 написана для implementers: формулировки точные, но сухие. Пример из практики — проверить, как именно работает &lt;code&gt;Array.prototype.sort&lt;/code&gt;:&lt;/p&gt;</description></item></channel></rss>