Skip to content

feat(31-advanced-strings): полный перенос теории из Python и адаптация под JS#812

Merged
fey merged 1 commit into
mainfrom
update-31-advanced-strings-from-python
May 29, 2026
Merged

feat(31-advanced-strings): полный перенос теории из Python и адаптация под JS#812
fey merged 1 commit into
mainfrom
update-31-advanced-strings-from-python

Conversation

@fey
Copy link
Copy Markdown
Contributor

@fey fey commented May 29, 2026

Что сделано

Полный перенос модуля 31-advanced-strings (Продвинутые строки) из exercises-python в exercises-javascript (RU-локаль). Теория ru/README.md всех 4 уроков была урезана (17–61% от Python) — теперь доведена до паритета с адаптацией под JavaScript.

Урок было стало от Python
25-interpolation 2016 4379 132%
30-symbols 1432 4768 109%
70-slices 1339 6550 81%
90-multiline-strings 1458 4899 112%

Адаптация питон-специфики под JS

  • Интерполяция: f-строки → шаблонные литералы `${var}` (+ диаграмма подстановки, сравнение с конкатенацией, раздел «почему важно»).
  • Извлечение символов: отрицательные индексы Python s[-1] → в JS квадратные скобки их не поддерживают (undefined), показан метод at(-1); выход за границы → undefined, а не ошибка.
  • Срезы: срез-синтаксис s[1:5:2] → метод slice() (start/end, отрицательные индексы, до конца/от начала, переменные, шпаргалка). Питоновские шаг и разворот [::-1], которых нет у slice(), заменены JS-идиомами (split('').reverse().join('')) + упомянут substring(). Поэтому объём ниже 85% — это языковая специфика.
  • Многострочные строки: тройные кавычки → шаблонные литералы (бэктики), + про экранирование кавычек, интерполяцию внутри, отступы, «компьютер vs человек».

Задания

Все задания и тесты сохранены (педагогически совпадают с Python).

Проверки

  • vitest — 4/4 проходят.
  • biome check — exit 0.

🤖 Generated with Claude Code

Расширена теория всех 4 уроков модуля «Продвинутые строки» до объёма
Python-оригинала с адаптацией под JavaScript: интерполяция через
шаблонные литералы, индексация и метод at() вместо отрицательных
индексов Python, метод slice() вместо срез-синтаксиса (с заменой
шага/разворота на JS-идиомы), многострочные строки через бэктики.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@fey fey merged commit ea10576 into main May 29, 2026
2 checks passed
@fey fey deleted the update-31-advanced-strings-from-python branch May 29, 2026 14:30
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