JavaScript 入門 課題

📅 作成: 2026-10-10 / 更新: 2026-10-18

実行の仕組み(2 件)

i261010-01済無限ループでページが固まる

第2部の例(iframe)と、file:// で開いたときの第1部の例は、ページと同じ流れで動くため、時間で打ち切れない。無限ループを書くとタブごと固まる。ZZ の「実行の制約」に書いてある。

  • 済制約として閉じた。DOM を使う例は Worker に移せず、ループの検出は大がかりで確実でもないため
i261010-02済値の表示が Node.js と同じにならないものがある

docs/js/inspect.js は、Promise の状態(<pending> など)とエラーのスタックを Node.js と同じには出せない。ZZ の「実行の制約」に書いてある。

  • 済制約として閉じた。この差で出力が食い違う例はいまは無い

資料とテスト(3 件)

i261010-03済Firefox でテストするか

ブラウザのテストは Chromium だけで流している。PlayWright の共有環境は Firefox も持つので、流すことはできるはず(未実測)。エラーの文面は V8 のものを載せているため、エラーを出す例は Firefox では食い違う見込み。

  • 済Firefox で流した。39 件中 27 件が成功、12 件が失敗。失敗は 03 ・ 05 ・ 06 ・ 07 ・ 08 ・ 10 章の 11 例(通常のページと file:// の両方)で、すべてエラーの文面の違いだけ(例: Assignment to constant variable. が invalid assignment to const … になる)。値の表示や、第2部の例の食い違いは無い
  • 済一括のテストで Firefox も毎回流すようにした。エラーの文面は、載せた V8 の文面か、対になる Firefox の文面のどちらかが出れば一致とみなす(tests/helpers/browser-errors.ts の対応表)
  • 済Firefox で見た目と Console を確かめた。見た目に Firefox だけの崩れは無い。Console の警告は 3 種類あり、すべて直した: iframe の sandbox を外した(同じオリジンとスクリプトの両方を許すと守りにならない)、allow をそのブラウザが知っている機能だけにした、frame.js の高さの追従を ResizeObserver から MutationObserver に替えた(Firefox では ResizeObserver があると、読み込み中のほかの iframe のレイアウトまで計算させて警告が出る)。テストでも、例を実行したあとの Console の警告とエラーが 0 件であることを確かめる
i261010-04済付録が第1部の内容だけ

A1 逆引き ・ A2 対応表 ・ A3 落とし穴カタログは、第1部の言語の内容だけを扱う。第2部(DOM ・ イベント ・ 通信 ・ 保存)の項目が無い。

  • 済A1 逆引きに 3 章(画面 ・ イベントとフォーム ・ 通信と保存)、A3 落とし穴カタログに 2 章(画面とイベント ・ 通信と保存)を足した。A2 対応表は、Java ・ C# ・ VBA に当たるものが少ないので第1部向けのまま
i261010-08済スマートフォンの幅で、表と図が読みにくい

幅 375px で見ると、付録の表(A1 は 3 列、A2 は 5 列、A3 は 4 列)は列が細く、右の列は横にずらさないと見えない。資料の図(SVG、本編に 52 点)は幅いっぱいに縮み、図の中の文字が約 5px になって読めない。Chromium と Firefox のどちらでも同じ。ページ全体が横にはみ出すことは無い。

  • 済幅 640px 以下では、表の 1 行を 1 枚のカードにして縦に積み、各セルの前に列の見出しを出す。見出しは生成スクリプトが th から各セルの data-label に写す。資料のすべての表が対象
  • 済幅 640px 以下では、図を 600px より小さくせず、図の中で横にずらして見せる(文字は約 9〜10px)。説明文は左に留め、右端に影を出して続きがあると分かるようにした
  • 済テストを足した: 幅 375px で、表が横にはみ出さないこと、すべてのセルに列の見出しがあること、図が 600px 以上で表示されること

運用(3 件)

i261010-05済check-public が runner.js の正規表現の行を誤検知する

docs/js/runner.js の正規表現の行が、毎回指摘に出る。中身に問題は無い。変数名 TOKEN の後に値が続くため、認証情報として拾われていた。

  • 済変数名を CODE_PATTERN ・ HTML_PATTERN に変えた。check-public の指摘は 0 件
i261010-06済html2md の更新日の警告が 16 件出続ける

第1部の 01〜13 と付録 A1〜A3 は、生成スクリプトがナビを書き換えたため、ファイルの更新時刻がヘッダーの更新日より新しい。体裁だけの変更なので、更新日は変えないのが正しい。

  • 済対応不要として閉じた。本文を書き換えて更新日を進めるまで、警告は出続ける
i261010-07済最近の push が公開ページに反映されたかを確かめていない

74e237c 以降の push(資料一覧の移動、docs/README.html の削除を含む)について、Pages の作り直しと公開 URL での反映を確かめていない。

  • 済Pages の作り直しは 038b58f で built。公開 URL で README の課題の章 ・ ZZ の実行の制約 ・ 01 章の戻り先 ・ runner.js の変数名を確かめ、docs/README.html が 404 になることも確かめた