JavaScript を始めてみる


1 初めに

 HTML と CSSは何とか理解しているのですが、その延長として JavaScript も理解したいと思い立ち、少しずつ学んでみることにしました。


2 参考文献

 参考とする書籍として、下記の本を使用します。

 「1週間」というのがミソなんですが、たぶん理解するのに1カ月以上はかかりそうです。


3 目次

 本書の内容は、

  1. はじめの一歩
  2. JavaScript の基本
  3. 条件分岐/繰り返し処理
  4. コレクション
  5. 関数とイベント
  6. オブジェクトとクラス
  7. 継承/DOM

 となっています。


4 内容

 これは周辺環境の話ですね。
 インターネット、Webサイト、ブラウザ、サーバと続きます。
 そして、動的Webページ・静的Webページ、サーバサイド処理・クライアントサイド処理の違い、そしてJavaScript の説明です。
 次にプログラミングのための環境を整えて、HTML の入力、タグを理解します。

 まずは定番の「Hello World」により画面に文字を出力する方法から始めます。
 そしてオブジェクト指向の説明です。これは自分自身よくわかっていないので、初めてのようなものです。
 次は計算、変数、データ型の解説となります。

 いよいよプログラムの動作に入ります。まずは if 文ですね。
 そして、switch文による条件分岐となります。これは Excel VBA における Select Case に相当するものと考えればいいのでしょうか。
 次に繰り返し処理の解説です。事務などの実務では、if よりも繰り返し処理を使う方が多いような気がしますが。
 while 文と for 文があるのはほかの言語と同じですね。

 一転して、ハイパーリンク、リスト、テーブルなど HTML の説明です。
 そして、コレクションの解説となるのですが、なんのことはない配列の話なのですね。
 さらに連想配列というものが出てきますが、これは Python での「辞書」を連想させます。

 なんちゃってプログラマー、あるいは、片手間プログラマーを自称する私としては、ここからが難しい箇所になります。
 最初にユーザー定義関数の解説です。引数や戻り値がない関数はともかく、スコープという概念は初めて知りました。さらに、無名関数、コールバック関数なども。
 そして、また HTML の話でフォームを説明し、それに関連してイベントの解説となります。

 いよいよ理解不能な領域に進んでいきます。
 まずはユーザー定義オブジェクトを作りますが、「用意されている関数だけ使えばいいじゃない」と、いつも思ってしまいます。特に、Python などライブラリが豊富な言語を使っているとそう感じてしまいます。
 なるほど、プロパティやメソッドも自分で作成できるのですね。
 そして、本格的にわからなくなるクラスです。理論は知っているのですが、実用の域には達していません。インスタンス、コンストラクタなど、どこかで聞いたことのある用語が。静的メソッドとは?

 お待ちかねの最終日です。ここまでくると五里霧中。
 継承とは何か、スーパークラス? サブクラス? オーバーライド?
 片手間プログラマーにとって、本当にそのような高度技術は必要なのでしょうか。
 そして最後に document オブジェクトの説明のあと、いよいよ DOM が登場。


5 これから

 さて、これからこの本を読み進めていこうかと思います。
 果たして、最後まで読み進めることができるのか?

カテゴリー

更新記事

タグ

break (1) class (3) collection (6) continue (1) CSS (2) DOM (2) for (1) function (3) HTML (8) if (2) JavaScript (28) object (5) pop (1) push (1) shift (1) switch (1) unshift (1) VBA (1) while (2) ことば (25) アンガーマネジメント (1) インソース (1) ココナラ (12) コーチング (1) チーズ (2) ネズミ (2) ノート (2) パーソルホールディングス (4) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) リンクアンドモチベーション (3) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 新聞 (2) 株式 (30) 用語 (16) 睡眠 (3) 給水器 (1) 記憶 (3) Aoba-BBT (12) IGS (12) Kラーニング (1)


Categories: