水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > JavaScript勉強会 五回目

JavaScript勉強会 五回目

2012年8月3日(金曜日)

JavaScript勉強会 五回目

公開: 2012年8月26日13時50分頃

「ツッコミながらスクラムで学ぶ JavaScript勉強会」、第五回目。

今回の範囲は「よくわかるJavaScriptの教科書 (www.amazon.co.jp)」のLecture1-9~Lecture1-10 (テキストの74ページ~79ページ)。第五回目の課題を見ながらの進行です。

課題 5-1: 前回の振り返りと感想 (基本課題)

前回の感想や疑問など。

インクリメント演算子には前置 (++i) と後置 (i++) がありますが、実際にはどんなときにどちらが使用されるのか、という質問が出ました。……答えとして出たのは、「そもそもインクリメントは使わない」。

また、前回出たswitchの特殊な使い方について少し。

課題 5-2: 前回の応用 (チャレンジ課題)

掛け算の「九九」の表を出力するという課題。

多くの人がfor文の入れ子普通に実装する中、処理をいくつもの関数に分けたり、MultiplicationTableBuilderなるオブジェクトを設計して処理させる人がいたり。

仕様でまったく言及されていない表のスタイルについて工夫を凝らした解答もあり、なかなか楽しめました。

課題 5-3: Lecture1-9~Lecture1-10を読んで (基本課題)

テキストの74ページ~79ページを読んでの疑問や感想。

複数の方から、配列リテラルについての質問が出ました。var foo={a:1,b:2} のようなオブジェクトリテラルの書き方は説明されているのですが、var foo=[1,2,3] のような配列リテラルの書き方は説明されていないという。

あとは for in について、順序は決められていないという話とか。たいていのブラウザは格納された順に返す実装になっているようですが、そうでない挙動をしたとしても文句は言えません。メニューを表示するサンプルが出ていますが、仕様的には順序が不定なため、場合によってメニューの並び順が異なるということが起こりえるという話になります。

課題 5-4: 今回の範囲の練習 (基本課題)

都道府県を表示するという問題。

配列を使うよ派、連想配列使うよ派などいろいろ。並び順を考慮するかどうか、都道府県以外の選択肢 (「その他」「海外」など) にも対応できるようにするかなど、拡張をどこまで想定するかで結構分かれたりしました。

Lecture1-9~Lecture1-10はどうなの? (チャレンジ課題)

いわゆるツッコミですが、一部を紹介。

  • for inの説明が軽すぎるのではないか。順序が保持されない点、ライブラリ等でつけられたメソッドまで列挙してしまう点など、注意点が多数あるはず。
  • 配列の説明で背番号を持ち出すのは適切で無いのではないか。順序を持つ、というのが配列の重要な特徴だが、背番号には欠番もあり、順序を表すわけではない。

関連する話題: Web / JavaScript / / ツッコミながらスクラムで学ぶ JavaScript勉強会

最近の日記

関わった本など