<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Рoзуміння ECMAScript 6]]></title>
        <description><![CDATA[Український переклад книги «Understanding ES6».]]></description>
        <link>http://understandinges6.denysdovhan.com/</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Mon, 01 May 2017 17:29:55 GMT</lastBuildDate>
        <atom:link href="http://understandinges6.denysdovhan.com/rss.xml" rel="self" type="application/rss+xml"/>
        <author><![CDATA[Denys Dovhan]]></author>
        <managingEditor><![CDATA[email@denysdovhan.com (Denys Dovhan)]]></managingEditor>
        <webMaster><![CDATA[email@denysdovhan.com (Denys Dovhan)]]></webMaster>
        <category><![CDATA[frontend]]></category>
        <category><![CDATA[js]]></category>
        <category><![CDATA[javascript]]></category>
        <category><![CDATA[es6]]></category>
        <category><![CDATA[es2015]]></category>
        <category><![CDATA[ecmascript]]></category>
        <item>
            <title><![CDATA[Рoзуміння ECMAScript 6]]></title>
            <description><![CDATA[PDF
ePub
Mobi
Build Status
Twitter
RSS
Stars]]></description>
            <link>http://understandinges6.denysdovhan.com/</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Вступ]]></title>
            <description><![CDATA[Особливості ядра мови JavaScript визначені у стандарті під назвою ECMA-262. Мова, яку визначає цей стандарт, називається ECMAScript. Те, що відомо всьому світові як JavaScript, фактично є надбудовою ECMAScript. У той час, як браузери та Node.js розширюють можливості за допомогою додаткових об’єктів та методів, ядро мови залишається таким, яким воно визначене у ECMAScript, тому розвиток ECMA-262 є життєво важливим для успіху JavaScript загалом.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/00-Introduction.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/00-Introduction.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Блочне зв'язування]]></title>
            <description><![CDATA[Так склалось, що одна із найхитріших частин програмування на JavaScript — спосіб, яким оголошуються змінні. У більшості С-подібних мов змінні (або їх зв'язування) створюються там, де їх оголошують. Проте в JavaScript це не зовсім так. Місце створення ваших змінних залежить від того, як ви їх оголосили і ECMAScript 6 надає вам простіший спосіб контролювати область видимості. Ця глава ілюструє чому класичне var оголошення може заплутати, вводить блочне зв'язування в ECMAScript 6, а тоді пропонує деякі рекомендації для їх використання.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/01-Block-Bindings.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/01-Block-Bindings.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Рядки та регулярні вирази]]></title>
            <description><![CDATA[Рядки, можливо, є найбільш важливими типами даних в програмуванні. Вони є майже у всіх високорівневих мовах програмування, а вміння працювати з ними ефективно є необхідністю для розробника, при створенні корисних програм. Втім, будучи відвертими, регулярні вирази є не менш важливими, тому що вони дають розробнику додаткові потужні можливості при роботі з рядками. Зважаючи на це, розробники ECMAScript 6 вдосконалили рядки і регулярні вирази, додавши нові можливості та довгоочікуваний функціонал. Ця глава розгляне зміни в обох типах.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/02-Strings-and-Regular-Expressions.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/02-Strings-and-Regular-Expressions.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Функції]]></title>
            <description><![CDATA[Функції — важлива частина будь–якої мови програмування. До ECMAScript 6, функції в JavaScript з моменту створення мови, не зазнавали значних змін. Це накопичувало проблеми та нюанси поведінки, які призводили до помилкок та потребували більше коду для виконання базових завдань.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/03-Functions.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/03-Functions.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Розширення функціональності об’єктів]]></title>
            <description><![CDATA[ECMAScript 6 значною мірою спрямований на поліпшення функціональності об’єктів, що має зміст, адже майже будь–яке значення в JavaScript є певною мірою об’єктами. Крім того, кількість об’єктів, що використовують в пересічних JavaScript–програмах продовжує зростати разом зі збільшенням складності JavaScript–додатків, а це означає, що програми постійно створюють все більше і більше об’єктів. Зі збільшенням кількості об’єктів з’являється і необхідність використовувати їх більш ефективно.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/04-Objects.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/04-Objects.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Деструктурування для легшого доступу до даних]]></title>
            <description><![CDATA[Масиви та об’єктні літерали - два найбільш вживані види запису, а завдяки формату даних JSON вони стали особливо важливою частиною мови. Це доволі загальний спосіб задання об’єктів та масивів, а згодом і систематичної передачі відповідної інформації до цих структур. ECMAScript 6 спрощує цей процес шляхом введення деструктурування (destructuring) — процесу розбиття структури даних на менші частини. Ця глава покаже, як приборкати деструктурування як для об’єктів, так і для масивів.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/05-Destructuring.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/05-Destructuring.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Символи та їх властивості]]></title>
            <description><![CDATA[Пропозиція приватних імен, в кінцевому випадку, вилилась у символи в ECMAScript 6, а ця глава навчить вас як працювати з символами ефективно. Тоді як деталі реалізації залишились тими ж самими (вони додають нерядкові значення для імен властивостей), приватності, як мету, було відкинуто. Замість цього, символьні властивості зберігаються окремо від інших властивостей об’єкту.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/06-Symbols.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/06-Symbols.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Множини та мапи]]></title>
            <description><![CDATA[Більшу частину своєї історії JavaScript мав лише один тип колекцій — тип Array (хоча дехто може стверджувати, що всі об’єкти–немасиви є просто колекціями пар “ключ–значення”, їх планували використовувати зовсім іншим чином). Масиви використовуються в JavaScript точно так само, як і масиви в інших мовах, проте недоліком масивів, порівняно з іншими колекціями, була в тому, що вони часто використовувались в якості черг (queues) та стеків (stacks). Оскільки масиви мають лише числову індексацію, розробники використовували об’єкти–немасиви тоді, коли були необхідні нечислові індекси. Такий підхід породив власні реалізації множин (sets) та мап (maps) з допомогою об’єктів–немасивів.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/07-Sets-And-Maps.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/07-Sets-And-Maps.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Ітератори та генератори]]></title>
            <description><![CDATA[Багато мов програмування відмовились від ітерування по даних з допомогою циклу for, який потребує ініціалізації змінної для відслідковування позиції у колекції, на користь об’єктів–ітераторів, котрі програмно повертають наступний елемент у колекції. Ітератори роблять роботу з колекціями даних легшою, а ECMAScript 6 додає ітератори у JavaScript. Разом з новими методами масивів та новими типами колекцій (як от множини та мапи), ітератори є ключем до ефективної обробки даних, і саме тому ви знайдете їх у багатьох частинах мови. Новий цикл for-of працює з ітераторами, оператор розкладу (...) використовує ітератори, ітератори навіть роблять асинхронне програмування простішим.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/08-Iterators-And-Generators.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/08-Iterators-And-Generators.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Знайомство з класами у JavaScript]]></title>
            <description><![CDATA[На відміну від більшості формально об’єктно-орієнтованих мов програмування, JavaScript не підтримував класи і класичне наслідування в якості основного засобу визначення подібних і пов'язаних об'єктів, коли його було створено. Це спантеличило багато розробників, і починаючи з pre-ECMAScript 1, весь час до ECMAScript 5 включно, багато бібліотек створювали утиліти, щоб імітувати підтримку класів в JavaScript. У той час, коли деякі JavaScript розробники булі впевнені, що мова не потребує класів, велика кількість бібліотек, створених спеціально для цієї мети призвела до включення класів в ECMAScript 6.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/09-Classes.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/09-Classes.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Вдосконалені можливості масивів]]></title>
            <description><![CDATA[Масив — це фундаментальний об’єкт JavaScript. Але, в той час, коли інші аспекти JavaScript вдосконалювались час від часу, масиви залишалися незмінними до того часу, коли ECMAScript 5 презентував кілька методів для їх легшого використання. ECMAScript 6 продовжує вдосконалювати масиви, додаючи більше функціональності, як нові методи створення, деякі корисні та зручні методи, а також можливість створювати типізовані масиви.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/10-Arrays.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/10-Arrays.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Проміси та асинхронне програмування]]></title>
            <description><![CDATA[Одним з найбільш потужних аспектів JavaScript є те, як легко він працює з асинхронним програмуванням. Як мова, яка була розроблена для Web, JavaScript від початку потребував можливості відповідати на асинхронні взаємодії користувачів, як от кліки та натискання клавіш. Node.js ще більше популяризував асинхронне програмування у JavaScript з допомогою функцій зворотнього виклику в якості альтернативи подіям. З тим, як все більше і більше програм починають використовувати асинхронне програмування, події та зворотні виклики більше не є достатньо потужними для підтримки всього того, що хочуть робити розробники. Про́міси (Promises) є вирішенням цієї проблеми.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/11-Promises.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/11-Promises.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Проксі та АРІ рефлексії]]></title>
            <description><![CDATA[ECMAScript 5 та ECMAScript 6 розроблялись таким чином, щоб демістифікувати фунціональність JavaScript. Наприклад, до ECMAScript 5 середовища JavaScript містили неперелічувані властивості, які неможливо було змінювати, проте розробники не могли створити власних неперелічуваних і незмінюваних властивостей. ECMAScript 5 вводив метод Object.defineProperty() щоб дозволити розробникам робити те, що рушії JavaScript вже вміли робити.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/12-Proxies-and-Reflection.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/12-Proxies-and-Reflection.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Інкапсуляція коду за допомогою модулів]]></title>
            <description><![CDATA[Одним з найбільш схильних до помилок і заплутаних аспектів JavaScript вже давно є shared everything-підхід до завантаження коду. В той час як інші мови мають такі поняття як пакети, JavaScript відстав і все, що визначається в кожному файлі поділяє єдину глобальну область видимості. Тоді, коли веб-додатки стали більш складними, а частота використання JavaScript зросла, shared everything-підхід почав виявляти проблеми з конфліктами імен, проблеми безпеки та багато іншого. Однією з цілей ECMAScript 6 було вирішення цієї проблеми і наведення порядку в додатках JavaScript. Ось тут і з’являються модулі.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/13-Modules.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/13-Modules.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Додаток А: Дрібніші зміни]]></title>
            <description><![CDATA[Поруч з масштабними змінами, про які вже розповідалось у цій книзі, ECMAScript 6 вводить ряд інших змін, які є менш важливими, проте такими ж корисними для покращення JavaScript. Ці зміни включають покращення цілих чисел, введення нових методів для обчислень, вдосконалення Unicode–ідентифікаторів та формалізація властивості __proto__. Я опишу їх у цьому додатку.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/A-Other-Changes.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/A-Other-Changes.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
        <item>
            <title><![CDATA[Розуміння ECMAScript 7 (2016)]]></title>
            <description><![CDATA[Розробка ECMAScript 6 зайняла близько чотирьох років, і пілся цього, TC-39 вирішив, що такий довгий процес розробки є неприйнятним. Замість цього, вони перейшли до щорічного релізного циклу, щоб забезпечити швидше надходження нововведень мови у розробку.]]></description>
            <link>http://understandinges6.denysdovhan.com/manuscript/B-ECMAScript-7.html</link>
            <guid isPermaLink="true">http://understandinges6.denysdovhan.com/manuscript/B-ECMAScript-7.html</guid>
            <dc:creator><![CDATA[Denys Dovhan]]></dc:creator>
        </item>
    </channel>
</rss>