mowascript
Version:
MowaScript language implementation
101 lines (84 loc) • 5.22 kB
Markdown
[[🌀Interslavic](../../03_stdlib.md) · [🇺🇸 English](../en/03_stdlib.md)]
# Стандартна бібліотека
MowaJS надає зручні, читабельні обгортки (alias'и) до стандартних API JavaScript. Це дозволяє працювати з масивами, об'єктами, математикою, виводом у консоль тощо — звичною, зрозумілою мовою.
---
## 🖨️ Вивід у консоль
| JS | MowaJS |
|--------------------|---------------------------------------------------|
| `console.log` | `govori` / `кажи` / `скажы` / `лог` |
| `console.error` | `govoriGreška` / `кажиПомилка` / `ошибка` |
| `console.warn` | `govoriVnimanje` / `кажиУвага` / `предупреждение` |
| `console.info` | `govoriInfo` / `кажиІнфо` / `инфо` |
```mowa
govori("Привіт світ");
скажиПомилка("Упс...");
```
## 🧮 Математика (Math)
| JS | MowaJS |
|----------------|----------------|
| `Math.abs()` | `абсолютне()` |
| `Math.max()` | `максимум()` |
| `Math.min()` | `мінімум()` |
| `Math.pow()` | `ступінь()` |
```js
нехай а = -5;
govori(абсолютне(a));
govori(максимум(3, 8, 2));
```
## 🧮 Преобразование типов
| JS | MowaJS |
|--------------------|-------------------------|
| `JSON.stringify()` | `вРядок()` |
| `JSON.parse()` | `зРядка()` |
| `Array.isArray()` | `цеМасив() / jeArray()` |
| `Number()` | `Число()` |
| `String()` | `Рядок()` |
| `Boolean()` | `Логічне()` |
```js
govori(вРядок({ мова: "mowa" }));
```
## 🧰 Масиви: методи
| JS | MowaJS |
|---------------|---------------------------------------|
| `.length` | `.довжина, .длина, .dlina` |
| `.includes()` | `включає(), soderži()` |
| `.split()` | `розділи(), раздели()` |
| `.join()` | `соедини(), sojedini()` |
| `.concat()` | `соединиМассивы(), sojediniMassivy()` |
## 🧰 Обробка масивів
| JS | MowaJS |
|--------------|--------------------------------------------------------------------------|
| `.filter` | `.отфильтруй(), .адфільтруй(), .відфільтруй()` |
| `.map()` | `.обійди(), .mapuj(), перебери(), прайдзіся()` |
| `.find()` | `.знайди(), .найди(), .najdi()` |
| `.forEach()` | `.dlaKazdogo(), .кожен(), .дляКожнага(), .каждому()` |
| `.push()` | `.додай(), .добавь(), .дадай(), .dobavi()` |
| `.pop()` | `.izvleki(), витягни(), забярыАпошні(), удалиПоследний()` |
| `.shift()` | `.iznacaloUdalj(), .забярыПершы(), .видалиЗПочатку(), .удалиПервый()` |
| `.unshift()` | `.дадайУПачатак(), .vnacaloDodaj(), .добавьВНачало(), .додайНаПочаток()` |
| `.indexOf()` | `.najdiIndeks(), .знайдиІндекс(), .знайдзіІндэкс(), .найдиИндекс()` |
```js
нехай масив = [1, 2, 3, 4];
нехай парні = масив.відфільтруй((число) => число % 2 == 0);
парні.кожен((n) => govori(n));
```
## 🧰 📦 Обіцянки (Promises)
| JS | MowaJS |
|--------------|--------------------------------------------------|
| `Promise` | `Obecanje, Обіцянка, Абяцанне, Обещание` |
| `.then()` | `.togda(), .патым(), .затем(), тоді()` |
| `.catch()` | `.pojmi(), .лови(), .злаві(), .спіймай()` |
| `.finally()` | `.nakonec(), .нарешті(), .нарэшце(), .вконце()` |
| `.resolve()` | `.ispolni(), .виполни(), .выканац(), .виконай()` |
| `.reject()` | `.otkloni(), .отклони(), .адхілі(), .відхили()` |
```js
нехай завантаження = новий Обіцянка((виконай, відхили) => {
виконай("OK");
});
завантаження.тоді((результат) => govori(результат));
```
## 🧪 Додатково
| JS | MowaJS |
|-----------------|--------------------------------------|
| `typeof` | `tip, тып, тип, Обещание` |
| `instanceof` | `jeEksemplar, экземпляр, екземпляр` |