内容紹介
穴埋めでJavaScriptのスキルアップ
Webサイトのプログラミングをマスターしたい、そしてより良いスクリプト作成ができるようになりたいと願うJavaScriptプログラマにベストマッチなのが「穴埋め問題集」の本書です。簡単な穴埋めもありますが、ひねった問題や難問もあり、初心者の基本学習から熟練者の力試しまで、楽しいクイズ形式で進められます。解答には詳細な解説があるので、基礎固めからハイレベルな仕組みまでしっかりと習得できます。
※下記GitHubに、問題のプログラム一式をアップしてあります。
https://github.com/hskaneko/js-drill-questions
このような方におすすめ
JavaScriptプログラマー
目次
主要目次
Chapter 0 JavaScriptの実行方法と問題の取り組み方
Chapter 1 基本文法と計算処理
Chapter 2 関数と制御フロー
Chapter 3 文字列と正規表現
Chapter 4 データ構造:配列とオブジェクト
Chapter 5 ブラウザー環境
Chapter 6 DOMの利用
Chapter 7 ユーザーインターフェースの処理
Chapter 8 非同期処理とAJAX
Chapter 9 Node.jsでのサーバーサイド処理
詳細目次
まえがき
本書の凡例等
Chapter 1 基本文法と計算処理
1.1 数値と文字列のリテラル
1.2 変数と文字列展開
1.3 式と演算子
1.4 オブジェクト
1.5 ビルトイン関数
1.6 日付や時刻のデータを扱う
1.7 コンソール
1.8 本章のプログラムの実行方法
問1-1(No.01) プログラム以外のものを記述する
問1-2(No.02) 変数の定義と利用
問1-3(No.03) 基数を変換して10進数以外を扱う
問1-4(No.04) 上限と下限が設定されている場合
問1-5(No.05) 桁数の大きな整数の計算
問1-6(No.06) 指定された小数点以下の桁で四捨五入
問1-7(No.07) 変換結果が元に戻る
問1-8(No.08) 割り算の商と剰余を求める
問1-9(No.09) 日付をプログラムの中で扱う
問1-10(No.10) 文字列からの数値変換
問1-11(No.11) fals と判定するデータ
問1-12(No.12) 論理演算の結果
問1-13(No.13) 数値のエラーや特殊な値との比較
問1-14(No.14) グラフを読み取る
問1-15(No.15) 三角関数を使った面積の計算
Chapter 2 関数と制御フロー
2.1 関数と無名関数
2.2 条件分岐
2.3 繰り返し
2.4 例外
2.5 本章のプログラムの実行方法
問2-1(No.16) if文の挨拶
問2-2(No.17) 無名関数
問2-3(No.18) 電卓
問2-4(No.19) 素数
問2-5(No.20) アロー関数
問2-6(No.21) 関数のデフォルト引数と期待してない引数
問2-7(No.22) 関数の渡されなかった引数
問2-8(No.23) 関数の残余引数1
問2-9(No.24) 関数の残余引数2
問2-10(No.25) 高階関数
問2-11(No.26) スコープとクロージャ
問2-12(No.27) 宿題は非同期でしないで
問2-13(No.28) コールバック関数
問2-14(No.29) 再帰関数 - 真理値表
問2-15(No.30) 再帰関数 - 迷路
Chapter 3 文字列と正規表現
3.1 JavaScriptでの文字列(Stringクラス)
3.2 タグ付きテンプレート
3.3 正規表現による文字列処理
3.4 パターン作成のルール
3.5 本章のプログラムの実行方法
問3-1(No.31) 序数
問3-2(No.32) 回文
問3-3(No.33) 文字列大文字
問3-4(No.34) 単語の分離
問3-5(No.35) テキストマスキング
問3-6(No.36) テンプレートリテラル
問3-7(No.37) 検索テキスト
問3-8(No.38) タグ付きテンプレート
問3-9(No.39) パスワード強度テスト
問3-10(No.40) メールアドレス抽出
問3-11(No.41) 繰り返しを削除
Chapter 4 データ構造 配列とオブジェクト
4.1 JavaScriptの配列
4.2 配列の反復処理とマップ処理
4.3 JavaScriptのオブジェクト
4.4 標準ビルトインオブジェクトの例
4.5 分割代入構文とスプレッド構文
4.6 本章のプログラムの実行方法
問4-1(No.42) タイトルの一覧表示
問4-2(No.43) 文字列
問4-3(No.44) 配列中の要素の検索(1)
問4-4(No.45) 配列中の要素の検索(2)
問4-5(No.46) スタック
問4-6(No.47) キュー
問4-7(No.48) 合計値
問4-8(No.49) 計算結果の表示
問4-9(No.50) 配列の連結
問4-10(No.51) 配列の並び替え : 降順
問4-11(No.52) 四国四県のリスト
問4-12(No.53) 各地の温度
問4-13(No.54) 最小の合格点を探そう
問4-14(No.55) 軽井沢
問4-15(No.56) スイーツの価格表
問4-16(No.57) 観察記録
問4-17(No.58) 会員オブジェクト
問4-18(No.59) ステータス表示(1)
問4-19(No.60) 総得点と平均点
問4-20(No.61) ステータス表示(2)
問4-21(No.62) カロリーと価格
問4-22(No.63) トレーディングカード
問4-23(No.64) 年齢を消そう
問4-24(No.65) 名著
問4-25(No.66) 都市の色
問4-26(No.67) プロトタイプベースのOOP
問4-27(No.68) クラスベースのOOP
問4-28(No.69) 三角形の面積
問4-29(No.70) 装飾ラベル
問4-30(No.71) class 構文を用いた配列の機能拡張
Chapter 5 ブラウザー環境
5.1 ブラウザーのウィンドウに対応したwindow
5.2 ブラウザーが稼働する画面
5.3 ブラウザー自体の情報
5.4 URLに関する情報
5.5 JavaScriptプログラムの読み込み
5.6 本章のプログラムの実行方法
問5-1(No.72) 問と答えを配列から得る
問5-2(No.73) ブラウザーを判定する
問5-3(No.74) 身長と体重を入力してBMIを求める
問5-4(No.75) 利用しているOS を判定する
問5-5(No.76) ブラウザーで設定されている国
問5-6(No.77) パラメーターを変更してページアクセスする
問5-7(No.78) ウィンドウを開く・閉じる
問5-8(No.79) ページを閉じる時に確認する
問5-9(No.80) Canvas を利用する
問5-10(No.81) ライブラリのインポート
Chapter 6 DOM の利用
6.1 DOMにおける要素
6.2 ノード関連処理
6.3 JavaScriptとCSS
6.4 カスタムエレメント
6.5 本章のプログラムの実行方法
問6-1(No.82) 背景色を切り替える
問6-2(No.83) ノードの家族
問6-3(No.84) < script > の位置
問6-4(No.85) テーブルの作成
問6-5(No.86) テーブルの着色
問6-6(No.87) padding は取得できない?
問6-7(No.88) data-* 属性
問6-8(No.89) アニメーション ー ランプ
問6-9(No.90) タイプライター1 ー アニメーションヘルパー
問6-10(No.91) タイプライター2 ー アニメーション
Chapter 7 ユーザーインターフェイスの処理 169
7.1 HTMLフォームとJavaScript
7.2 フォームとイベント
7.3 イベント処理のコントロール
7.4 本章のプログラムの実行方法
問7-1(No.92) ひつじを数える
問7-2(No.93) 問診票 - テキストフィールドの有効
問7-3(No.94) 問診票 - フィールドセットの表示
問7-4(No.95) 問診票 - 複数の要素のハンドラー
問7-5(No.96) スライダー
問7-6(No.97) クレジットカード番号
問7-7(No.98) カスタム検証
問7-8(No.99) カスタムエレメント
問7-9(No.100) ネズミと猫 - 猫が動く
問7-10(No.101) ネズミと猫 - 猫がネズミを捕まえる
問7-11(No.102) ネズミと猫 - ネズミが逃げる
Chapter 8 非同期処理とAJAX
8.1 非同期処理のための仕組み
8.2 通信を行って結果を得る
8.3 本章のプログラムの実行方法
問8-1(No.103) チクタク
問8-2(No.104) あいさつタイマー
問8-3(No.105) あいさつタイマー(Promise 版1)
問8-4(No.106) あいさつタイマー(Promise 版2)
問8-5(No.107) あいさつタイマー(async/await 版)
問8-6(No.108) ウトウトした時間zzz(Promise 版)
問8-7(No.109) うまくいくとは限らない
問8-8(No.110) Fetch API によるAJAX
問8-9(No.111) Fetch API によるAJAX(例外処理)
問8-10(No.112) AJAX によるセレクトボックスの更新
Chapter 9 Node.js でのサーバーサイド処理
9.1 モジュールを取り込む
9.2 サーバー機能のHTTPモジュール
9.3 イベント処理
9.4 npmによる外部モジュール管理
9.5 本章のプログラムの実行方法
問9-1(No.113) サーバーのポートを開く
問9-2(No.114) パスをパンくずで表示
問9-3(No.115) フォームとのやりとり
問9-4(No.116) ファイルの内容を返す
問9-5(No.117) テンプレートエンジン
問9-6(No.118) 単体テストを作成する
問9-7(No.119) API応答の自動テストを作成する
問9-8(No.120) Express.jsを使用してサーバーを作成
索引
筆者紹介
■JavaScripミニ知識
JavaScriptでの整数の計算
BigIntはどんな用途に使う?
&&や||演算子で条件式を作る時の注意
デコレーターによる高階関数
クロージャの解釈
isNaNとNumber.isNaNの違い
文字列の長さを求めるlengthはプロパティ
「正規表現」のオススメ学習方法
メールアドレスの完全なチェックは難しい
糖衣構文
配列の最大値を求める方法
entriesメソッドの返り値で反復処理
少し未来のclass構文(1)
関数型プログラミングのススメ
少し未来のclass構文(2)
beforeunloadイベントの挙動
getElementByName,ByTag,ByClassNameはもう使いません
scriptの位置に注意しましょう
CSSのwidthとheightを使わないで
グローバルidを使ってはいけません
oninputとpreventDefault
メソッドチェーン
リクエストのパス
■プログラミングミニ知識
長いswitch文に注意
序数の文字列を作成する方法
スタック(LIFO)とキュー(FIFO)
JavaScriptのテスト
■数学ミニ知識
メルセンヌ数、メルセンヌ素数
続きを見る