こんにちは。
「勉強はまずは全体像から」ということで、書籍「JavaScript本格入門」の目次を記します。
目次を見て、Javascriptで何が出来るのかざっとイメージを作ってから始めましょう。
細かいコードを覚えても、時代の流れやアップデートで変化していきますので、細かい所には時間をかけ過ぎないことを意識しましょう。
2023年2月24日 初版第1刷発行
私は、書籍「独習 JavaScript」と本書籍の両方を使い勉強を始めました。
個人的には、「独習 JavaScript」を2,3回ざっと勉強した後に、本書を読むことで点と点を繋がっていくので、”独習”からの”本格入門”をオススメします。
「独習JavaScript」の方は「JavaScript本格入門」の目次には記載が無い機能を紹介しているので、そちらも確認してみると良いかと思います。
イントロダクション
JavaScriptとは?
標準JavaScript「ECMAScript」とは?
JavaScript実行環境のもう1つの選択肢 – Node.js
JavaScriptアプリを開発/実行するための基本環境
ブラウザー付属の開発者ツール
基本的な書き方を身につける
JavaScriptの基本的なルールが記されています。
こちらの記事が参考になります。
JavaScriptの基本的な記法
変数
データ型
値の演算操作を理解する – 演算子
四則演算、変数への値の代入、比較、AND/ORの論理値の操作方法の詳細が記されています。
演算子とは?
算術演算子
代入演算子
比較演算子
論理演算子
ビット演算子
その他の演算子
演算子の優先順位と結合即
スクリプトの基本構造を理解する – 制御構文
制御構文とは?
一般的なプログラムの構造は大きく3つに分類されます。

この3つに該当する制御構文が以下で、各詳細が記されています。
■選択
・if…else
・switch
■反復
・while/do…while
・for/for…in/for…of
・break/continue
■その他
・try…catch…finally
・throw
・debugger
条件分岐
繰り返し処理
ループ制御
制御命令のその他の話題

try…catch…finally命令に関しては、書籍「独習JavaScript」の方が分かり易いです。
独習では、フローチャートもあるのでイメージしやすいと思います。
基本データを操作する – 組み込みオブジェクト
オブジェクトとは?
特性や機能を持った高性能な箱がオブジェクトで、JavaScriptはオブジェクトを中心にコードを組み立てるオブジェクト指向言語です。
自分で作成するオリジナルのオブジェクトに対して、インスタス化で複製しながら組み立てていきます。
しかし、オリジナルには「組み込みオブジェクト」と呼ばれるJavascriptに標準で組み込みまれているオブジェクトがあり、実は第2章のデータ型も組み込みオブジェクトに該当します。(以下赤字が該当)
- 基本型
・数値型(Number) ←ラッパーオブジェクト
・長整数型(bigint)
・文字列型(string)←ラッパーオブジェクト
・論理型(boolean)←ラッパーオブジェクト
・シンボル型(symbol)←ラッパーオブジェクト
・特殊型(null/undefined) - 参照型
・配列(array)
・オブジェクト(object)
・関数(function)
自分で作成したオリジナルのオブジェクトはnew演算子を使いインスタンス化しますが、上記赤字のJavaScript標準のデータ型は、インスタンス化無しでメソッドの利用ができます。
標準のデータ型はnew演算子を使ってインスタンス化するのは原則避けて下さい。
✖:let str=new String; console.log(str.length);
〇:console.log(str.length);
組み込みオブジェクトの中でも、基本型である文字、数字、論理値、シンボルを扱うオブジェクトをラッパーオブジェクトと呼んでいます。
単なる値を包み込んで(ラッピングして)、値を操作する機能(メソッド)を付与するための役割を持ったオブジェクトのこと
標準型のデータ型ではない組み込みオブジェクトはコンストラクターを利用するので、new演算子でインスタンス化して下さい。
組み込みオブジェクトの種類については以下をご確認ください。
文字列を操作する – Stringオブジェクト
数値リテラルを操作する – Numberオブジェクト
日付/時刻値を操作する – Dateオブジェクト
値の集合を管理/操作する – Arrayオブジェクト
配列を生成するには最大限、配列リテラルを利用しましょう。
let list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
new演算子でコンストラクターを利用すると以下のように、意味的に曖昧になります。
let list = new Array(10);
//指定サイズ(インデックスは0~9)で空の配列を生成
この場合、長さが10の配列か、10を持つ要素を持つ配列か人は迷います。
JavaScriptは前者として認識しますが、リテラル構文を利用した方がシンプルです。
連想配列を操作する – Mapオブジェクト
重複しない値の集合を操作する – Setオブジェクト
正規表現で文字列を自在に操作する – RegExpオブジェクト
その他のオブジェクト
繰り返し利用するコードを1ヶ所にまとめる – 関数
関数の基本
関数を定義するための3種の記法
変数はどの場所から参照できるか – スコープ
引数のさまざまな記法
関数呼び出しと戻り値
高度な関数のテーマ
JavaScriptらしいオブジェクトの用法を理解する – Objectオブジェクト
JavaScript、PHP、Java、Rubyなどはオブジェクト指向言語ですが、JavaScriptは他のオブジェクト指向と異なる独特の性質があります。
その性質の1つが、最初にクラスを用意することなく、オブジェクトを利用できるという点です。
本章では、オブジェクトを直接に定義し、利用する方法、そして基本的な性質を担うObjectオブジェクトについて解説をしています。
オブジェクトを生成する
- オブジェクトをリテラルで表現する
→この生成方法をデフォルトで利用 - new演算子を使い、コンストラクター経由で生成する
→原則リテラル(生成方法1)を優先して利用 - Object.createメソッドを利用
→以下詳細な情報を設定可能
・プロパティの詳細情報(読み取り専用か、列挙可能かなど)
・オブジェクトを生成する際に元となる機能(プロトタイプ)
コメント