Skip to content

feat(40-define-functions): add 350-type-annotations lesson (JSDoc)#850

Merged
fey merged 1 commit into
mainfrom
fix/add-type-annotations-lesson
Jun 10, 2026
Merged

feat(40-define-functions): add 350-type-annotations lesson (JSDoc)#850
fey merged 1 commit into
mainfrom
fix/add-type-annotations-lesson

Conversation

@fey

@fey fey commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Новый урок — аналог питоновского 40-define-functions/300-type-annotations, по решению гейта: аннотации типов в JS даём через JSDoc.

Теория (ru + en/es): зачем нужны аннотации (подсказки редактора, помощь ИИ-агентам, статическая проверка), синтаксис @param {тип} / @returns {тип}, примитивные типы (number/string/boolean), void для функций без возврата, параметры по умолчанию [greeting='Hello'], статическая проверка через tsc (в репо уже включён checkJs), мостик к TypeScript одним абзацем. Скриншоты питоновского урока не переносились.

Упражнение: wordMultiply(text, repetitions) — порт питоновского; подсказка про repeat() (циклы ещё не пройдены). Тест требует аннотации (паритет с питоновской проверкой __annotations__): читает исходник и проверяет наличие @param×2 и @returns + поведение. Негативный сценарий проверен: решение без JSDoc падает с подсказкой.

Позиция: после 340-default-parameters, до 450-short-syntax (питоновский порядок). Slug совпадает с Python → в compare-отчётах станет matched-парой.

Верификация: тест урока зелёный (и падает без JSDoc), полный прогон 71/71, tsc+biome чисто по уроку (test.js — @ts-nocheck: в tsconfig нет типов node), yamllint/schema-validate зелёные. description.es.yml (es-дубль) создан.

⚠ Новый урок появится на сайте.

🤖 Generated with Claude Code

…ort of Python 300

Аналог питоновского 300-type-annotations: зачем нужны аннотации, синтаксис
@param/@returns, примитивные типы, void, параметры по умолчанию, статическая
проверка (tsc checkJs). Упражнение wordMultiply — порт питоновского; тест
требует JSDoc-аннотации (чтение исходника) + проверяет поведение.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@fey fey merged commit a3dbe08 into main Jun 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant