Skip to content

Commit 7f4ad8b

Browse files
committed
feat(1-02-01-hello-world): Fix language mistakes in 06-polyfills
1 parent fc25d2a commit 7f4ad8b

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

1-js/03-code-quality/06-polyfills/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# Поліфіли і транспілятори
2+
# Поліфіли та транспілятори
33

44
Мова JavaScript постійно розвивається. До неї регулярно додаються нові пропозиції, далі вони аналізуються і, якщо вважаються гідними для розширення мови, додаються до списку <https://tc39.github.io/ecma262/>, а потім переходять до [специфікації](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/).
55

@@ -11,18 +11,18 @@
1111

1212
Як програмісти, ми б хотіли використовувати найновіші можливості. Чим більше хороших речей — тим краще!
1313

14-
З іншого боку, як змусити працювати «сучасний» код на старих рушіях? Адже вони покищо не підтримують найновіших можливостей.
14+
З іншого боку, як змусити працювати «сучасний» код на старих рушіях? Адже вони поки що не підтримують найновіших можливостей.
1515

1616
Для цього існують два інструменти:
1717

1818
1. Транспілятори.
1919
2. Поліфіли.
2020

21-
В цьому розділі ми дізнаємося, як вони працюють та яке їхнє місце у веб-розробці.
21+
В цьому розділі ми дізнаємося, як вони працюють та яке їхнє місце у веброзробці.
2222

2323
## Транспілятори
2424

25-
[Транспілятор](https://uk.wikipedia.org/wiki/Транскомпілятор) -- це спеціальний інструмент, який «перекладає» вихідний код з однієї мови програмування в код на іншій мові програмування. Також обробка коду може виконуватися в межах однієї мови програмування. Транспілятор парсить ("читає та розуміє") сучасний код і переписує його, використовуючи старі синтаксичні конструкції, які працюють на старих рушіях.
25+
[Транспілятор](https://uk.wikipedia.org/wiki/Транскомпілятор) -- це спеціальний інструмент, який «перекладає» вихідний код з однієї мови програмування в код іншою мовою програмування. Також обробка коду може виконуватися в межах однієї мови програмування. Транспілятор парсить ("читає та розуміє") сучасний код і переписує його, використовуючи старі синтаксичні конструкції, які працюють на старих рушіях.
2626

2727
Наприклад, JavaScript до 2020 року не мав "оператора об’єднання з null" `??`. Якщо відвідувач використовує старий браузер, він не зможе виконати код, на кшталт `height = height ?? 100`.
2828

@@ -54,7 +54,7 @@ height = (height !== undefined && height !== null) ? height : 100;
5454
5555
Якщо ми говоримо про нові функції, а не синтаксичні вирази, то тут нічого не потрібно транспілювати ("перекладати"). Нам лише потрібно оголосити відсутні функції.
5656
57-
Скрипт, який оновлює/додає нові функції називається "**поліфіл**" (polyfill). Він "заповнює" прогалини і додає відсутній функціонал.
57+
Скрипт, який оновлює/додає нові функції називається "**поліфіл**" (polyfill). Він "заповнює" прогалини й додає відсутній функціонал.
5858
5959
Для нашого випадку з функцією `Math.trunc`, поліфілом буде такий скрипт, який реалізує цю функцію, ось так:
6060
@@ -72,7 +72,7 @@ if (!Math.trunc) { // якщо немає такої функції
7272
JavaScript дуже динамічна мова -- скрипти можуть додавати чи оновлювати функції, навіть якщо вони вбудовані.
7373
7474
Є два цікавих поліфіла:
75-
- [core js](https://github.com/zloirock/core-js), що підтримує багато функціоналу, дозволяє включати лише необхідні функції.
75+
- [core js](https://github.com/zloirock/core-js), що підтримує багато функціонала, дозволяє включати лише необхідні функції.
7676
- [polyfill.io](https://polyfill.io) -- сервіс, що генерує скрипт з поліфілами відповідно до потрібних нам функцій та браузера користувача.
7777
7878
@@ -82,7 +82,7 @@ JavaScript дуже динамічна мова -- скрипти можуть
8282
8383
Просто не забувайте використовувати транспілятор (якщо будете використовувати сучасний синтаксис чи оператори) та поліфіли (щоб додавати функції, які можуть бути відсутні). Це дозволить впевнитися, що код працює на різних рушіях.
8484
85-
Наприклад, пізніше (коли достатньо вивчите JavaScript), ви зможете налаштувати систему збору проєкту на основі [webpack](https://webpack.js.org/) із плаґіном [babel-loader](https://github.com/babel/babel-loader).
85+
Наприклад, пізніше (коли достатньо вивчите JavaScript), ви зможете налаштувати систему збору проєкту на основі [webpack](https://webpack.js.org/) із плагіном [babel-loader](https://github.com/babel/babel-loader).
8686
8787
Ось хороші ресурси, де можна дізнатися поточний стан підтримки різного функціоналу:
8888
- <https://kangax.github.io/compat-table/es6/> - для чистого JavaScript.

0 commit comments

Comments
 (0)