スキル javascript-mastery
📦

javascript-mastery

安全

Освойте JavaScript с помощью этого полного справочного руководства

Изучите основы JavaScript и продвинутые концепции в одном комплексном справочнике. От примитивов до асинхронных паттернов — получите чёткие объяснения с практическими примерами кода.

対応: Claude Codex Code(CC)
📊 71 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「javascript-mastery」を使用しています。 Объясните, как работают замыкания в JavaScript

期待される結果:

Замыкание — это функция, которая запоминает свою лексическую область видимости даже при выполнении вне этой области. Пример: функция-счётчик, которая сохраняет приватную переменную count между вызовами, увеличивая её каждый раз при вызове возвращённой функции.

「javascript-mastery」を使用しています。 Каков вывод: console.log(1); setTimeout(() => console.log(2), 0); Promise.resolve().then(() => console.log(3)); console.log(4);

期待される結果:

Вывод: 1, 4, 3, 2. Объяснение: Синхронный код выполняется первым (1, 4), затем микрозадачи, такие как колбэки Promise (3), затем макрозадачи, такие как setTimeout (2).

セキュリティ監査

安全
v1 • 2/25/2026

This skill is a JavaScript educational reference document containing code examples for learning purposes. Static analysis flagged 89 patterns (template literals, fetch examples, documentation URLs) that are false positives - all are JavaScript syntax examples in markdown, not executable code. No security risks detected. Safe for publication.

1
スキャンされたファイル
648
解析された行数
0
検出結果
1
総監査数
セキュリティ問題は見つかりませんでした
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
32
コミュニティ
100
セキュリティ
87
仕様準拠

作れるもの

Изучение основ JavaScript

Начинающие могут использовать этот навык для понимания ключевых концепций JavaScript с помощью понятных примеров и объяснений.

Отладка сложного поведения

Опытные разработчики могут обращаться к этому навыку при столкновении с неожиданным поведением JavaScript, таким как приведение типов или проблемы привязки this.

Преподавание и код-ревью

Преподаватели и лиды команд могут использовать этот навык для объяснения концепций JavaScript во время обучающих сессий или код-ревью.

これらのプロンプトを試す

Объяснить концепцию JavaScript
Объясните, как работают замыкания в JavaScript, на простом примере.
Сравнить возможности JavaScript
В чём разница между == и === в JavaScript? Покажите примеры, когда следует использовать каждый из них.
Отладка поведения JavaScript
Почему этот код выводит undefined вместо ожидаемого значения? Объясните задействованные правила области видимости.
Продвинутые асинхронные паттерны
Покажите, как обрабатывать несколько асинхронных операций в JavaScript. Сравните Promise.all, Promise.race и последовательный await с примерами.

ベストプラクティス

  • Используйте строгое равенство (===) вместо нестрогого (==), чтобы избежать ошибок приведения типов
  • Отдавайте предпочтение let и const вместо var для блочно-ограниченных переменных и во избежание проблем с hoisting
  • Используйте async/await для более чистого асинхронного кода вместо вложенных колбэков или цепочек promise

回避

  • Использование var, которая ограничена областью функции и может привести к путанице с hoisting
  • Ад колбэков — вложение множества колбэков вместо использования Promises или async/await
  • Изменение объектов, объявленных с const, что может вызвать неожиданные мутации

よくある質問

В чём разница между null и undefined?
undefined означает, что переменная объявлена, но не имеет присвоенного значения. null — это намеренное присваивание, представляющее отсутствие значения. typeof undefined равен 'undefined', тогда как typeof null равен 'object' (историческая ошибка).
Зачем использовать стрелочные функции вместо обычных функций?
Стрелочные функции предоставляют более короткий синтаксис и лексически связывают значение this, что делает их идеальными для колбэков и методов, которые не должны перепривязывать this. Они не могут использоваться как конструкторы.
Что делает оператор spread (...)?
Оператор spread разворачивает итерируемый объект (массив или объект) в отдельные элементы. Используется для копирования массивов/объектов, объединения коллекций или передачи элементов массива как аргументов функции.
Как работает event loop в JavaScript?
JavaScript сначала выполняет синхронный код, затем обрабатывает все микрозадачи (Promises), затем макрозадачи (setTimeout, setInterval). Этот порядок объясняет, почему колбэки Promise выполняются перед setTimeout даже с нулевой задержкой.
В чём разница между map, filter и reduce?
map трансформирует каждый элемент и возвращает новый массив. filter оставляет элементы, соответствующие условию. reduce аккумулирует все элементы в одно значение. Все три являются чистыми функциями, которые не мутируют исходный массив.
Когда следует использовать optional chaining (?.) и nullish coalescing (??)?
Используйте optional chaining для безопасного доступа к вложенным свойствам без ошибок, если промежуточные значения равны null или undefined. Используйте nullish coalescing для предоставления значений по умолчанию только когда значение равно null или undefined, а не для всех falsy-значений вроде 0 или пустых строк.

開発者の詳細

ファイル構成

📄 SKILL.md