関連サイト
本書の関連ページが用意されています。
内容紹介
速習入門+リファレンスで試験範囲を効率的に習得!
本書は、「HTML5プロフェッショナル認定試験」の「レベル2」対応の解説書です。
「HTML5プロフェッショナル認定試験」は、特定非営利活動法人エルピーアイジャパン(LPI-Japan)が、HTML5、CSS3、JavaScriptなど最新のマークアップに関する技術力と知識を、公平かつ厳正に、中立的な立場で認定する認定資格です。「レベル2」は「HTML5を活用した動的なWebアプリケーションを開発・設計・製作できる。」スキルを備えているIT技術者であることを認定するもので、Webシステム開発者、スマートフォン アプリ開発者、フロントエンド プログラマー、HTMLコーダー、サーバサイド エンジニア、Webデザイナー、Webディレクターといった職種の方々を対象にしています。
「HTML5」の試験といいつつ、レベル2の試験範囲ではJavaScriptが大きなウェイトを占めます。よって本書は大きく「速習入門」(Chapter1)と「リファレンス」(Chapter2~4)の2部構成となっています。
Chapter 1では、HTML/CSSは書けるけれども、これまでプログラミングに触れたことがない方、または一旦始めたけれども挫折したといった人に向けて、「JavaScriptがどんなものか」「ウェブ制作の現場においてどのように使われているか」をじっくり学べるように構成されています。「HTML5プロフェッショナル認定試験」レベル1を合格して、次にレベル2の受験を考えている人だけでなく、「HTMLとCSSはわかるけど、JavaScriptも使えるようになって、もっとできることを増やしたい!」という方にもうってつけの内容になっています。Chapter 2以降のリファレンスを参照する前に、ぜひご一読ください。
Chapter2~4は、「HTML5プロフェッショナル認定試験 レベル2」の出題範囲を対象として、網羅的・体系的にまとめてあります。「JavaScriptの文法」ではJavaScriptの文法を簡潔にまとめ、「WebブラウザにおけるJavaScript API」ではイベント、DOM、ウィンドウオブジェクト、Selectors APIなどのトピックを、「さまざまなHTML5関連API」ではCanvas、SVG、video要素、History API、通信、Web Workersなどのトピックを扱っています。
本書を資格取得において活用していただければ幸いです。
※注意
なお、本書のChapter2~4は、電子書籍・Amazon POD(オンデマンド)『HTML5プロフェッショナル認定資格レベル2 教科書』(NTTソフトウェア株式会社、2014年12月発行) 、オンデマンド『HTML5プロフェッショナル認定資格レベル2 教科書』(マイナビ出版、2015年5月発行) の内容を加筆、再編集したものです。基本的な内容は変わっておりませんので、ご注意ください。
書誌情報
- 著者: 右寺隆信, NTTソフトウェア株式会社
- ページ数: 322ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
右寺隆信
株式会社グッドパッチ所属 グロースデザイナー・フロントエンドエンジニア
前職ではソーシャルゲームの開発・運営に携わり、グッドパッチにジョイン後はクライアントのウェブサービスの管理画面の改善や女性向けメディアサービスのリニューアルなどを手がける。また、フロントエンドの開発以外に数値解析やその改善といった業務も行う。JavaScript大好きな人たちの集まりおよび勉強会である「JSオジサン」スタッフ。
ブログ http://migi.hatenablog.com/
JSTオジサンのサイト http://jsojisan.jp/
立川 敬行
NTTソフトウェア株式会社 主幹エンジニア 工学博士
1998年入社。サーバサイドJavaからモバイルJavaまで幅広くJava関連の開発業務に従事。Ajax関連の技術を業務に利用し,Web2.0に触れることにより、HTMLを含めたWeb全般の技術に興味を持つようになる。2010年よりHTML5関連の業務に従事し,現在は2012年に発足した、HTML5推進室にて、プロジェクトへの技術支援や技術者育成に力を注いでいる。
山下 英之
NTTソフトウェア株式会社 アシスタントマネージャー
1999年入社。交換機開発業務を経て2012年ごろにWebRTC技術にはじめて触れる。現在はWebRTC関連技術の社内での技術支援や指導を行うとともに自社製品開発に従事している。
小塚 央
NTTソフトウェア株式会社 主任エンジニア
高校時代にワンボードマイコンに出会い、大学時代はミニコンでの衛星画像処理とソフトウェアの世界にはまり、迷うことなくソフトウェア業界を志向し1987年に入社。汎用機のDBMSから始まり、最近ではOSS製品の評価・改造、公共システム開発まで幅広く経験を積む。現在はセキュリティ関連の業務に従事しつつ、社内へのJavaScriptの技術支援を通じて若手のプログラミングスキル向上に注力。
目次
Chapter1 速習JavaScript入門
- 1-1 今、JavaScriptを学ぶ意義
- 1-1-1 JavaScriptとは
- 1-1-2 JavaScriptの歴史とECMAScript
- 1-1-3 なぜ今JavaScriptを学ぶのか
- 1-2 学習・開発に必要なものの準備
- 1-2-1 開発に必要なものは2つだけ
- 1-2-2 おすすめのテキストエディタ
- 1-2-3 ブラウザの開発者ツール
- 1-3 変数の宣言と値の代入
- 1-3-1 ファイルの作成
- 1-3-2 console.log()でログを表示する
- 1-3-3 宣言と変数
- 1-4 さまざまな演算
- 1-4-1 値の加算
- 1-4-2 その他の計算
- 1-4-3 計算のための短縮記法
- 1-4-4 文字列と連結
- 1-4-5 +についての注意
- 1-5 関数を作る
- 1-5-1 関数の基本
- 1-5-2 引数の基本
- 1-5-3 複数の引数
- 1-5-4 戻り値
- 1-5-5 無名関数
- 1-6 スコープ
- 1-6-1 グローバル変数とローカル変数
- 1-6-2 スコープの練習
- 1-6-3 グローバル変数は悪
- 1-7 条件分岐
- 1-7-1 if文
- 1-7-2 比較演算子
- 1-7-3 論理演算子
- 1-7-4 条件演算子(三項演算子)
- 1-7-5 switch文
- 1-8 配列とオブジェクト
- 1-8-1 配列とは
- 1-8-2 配列を操作する
- 1-8-3 多次元配列
- 1-8-4 繰り返しの操作
- 1-8-5 オブジェクト
- 1-9 オブジェクト指向
- 1-9-1 オブジェクト指向とは
- 1-9-2 メソッド
- 1-9-3 すべてはオブジェクトである
- 1-9-4 thisについて
- 1-9-5 コンストラクタとインスタンス
- 1-9-6 プロトタイプ継承
- 1-9-7 「すべてはオブジェクトである」の意味
- 1-10 HTMLの操作
- 1-10-1 DOMとは
- 1-10-2 要素の取得
- 1-10-3 DOMの操作
- 1-10-4 セレクタAPI
- 1-11 イベント
- 1-11-1 さまざまなイベント
- 1-11-2 イベントの発火と伝播
- 1-12 HTML5
- 1-12-1 HTML5とJavaScript
- 1-12-2 グラフィックス
- 1-12-3 ローカルストレージ
Chapter2 JavaScriptの文法
- 2-1 JavaScriptとは
- 2-1-1 JavaScriptとECMAScript
- 2-1-2 HTMLからJavaScriptを利用する方法
- 2-2 変数と型
- 2-2-1 変数
- 2-2-2 型
- 2-2-3 型変換
- 2-2-4 変数のスコープ
- 2-2-5 特殊数値
- 2-2-6 Strictモード
- 2-2-7 ガーベージコレクション
- 2-3 式
- 2-3-1 式の構成要素
- 2-3-2 演算子
- 2-3-3 算術演算子(単項)
- 2-3-4 算術演算子(2項)
- 2-3-5 ビット演算子
- 2-3-6 文字列結合演算子
- 2-3-7 代入演算子
- 2-3-8 論理演算子
- 2-3-9 比較演算子
- 2-3-10 メンバ演算子
- 2-3-11 条件演算子
- 2-3-12 特殊演算子
- 2-3-13 yieldの使用例
- 2-4 制御文
- 2-4-1 制御文とは
- 2-4-2 if/else(真/偽分岐)
- 2-4-3 switch、break、case(多岐分岐)
- 2-4-4 while
- 2-4-5 for
- 2-4-6 breakとcontinue
- 2-4-7 try/catch/finally
- 2-5 配列
- 2-5-1 配列とは
- 2-5-2 多次元配列
- 2-5-3 連想配列
- 2-5-4 配列変数のプロパティ
- 2-5-5 配列変数のメソッド
- 2-6 オブジェクト
- 2-6-1 オブジェクトとは
- 2-6-2 プロパティ
- 2-6-3 Objectオブジェクト
- 2-6-4 prototype
- 2-7 関数
- 2-7-1 関数とは
- 2-7-2 function文による定義
- 2-7-3 Functionコンストラクタによる定義
- 2-7-4 関数リテラルによる定義
- 2-7-5 関数オブジェクトへのプロパティ操作
- 2-8 グローバルオブジェクトとCallオブジェクト
- 2-8-1 自動生成されるオブジェクト
- 2-8-2 変数の探し方(名前解決)
- 2-8-3 with文
- 2-8-4 クロージャ
- 2-8-5 グローバルオブジェクト
- 2-8-6 グローバル関数
- 2-8-7 Mathオブジェクト
Chapter3 WebブラウザにおけるJavaScript API
- 3-1 イベント
- 3-1-1 イベントドリブンモデル
- 3-1-2 イベント
- 3-1-3 イベントリスナの登録、削除
- 3-1-4 カスタムイベントの作成と呼び出し
- 3-2 ドキュメントオブジェクト/DOM
- 3-2-1 DOMとは
- 3-2-2 DOMによる操作(取得)
- 3-2-3 DOMによる操作(生成・追加・削除)
- 3-2-4 属性の追加・削除・取得
- 3-3 ウィンドウオブジェクト
- 3-3-1 ウィンドウオブジェクトとは
- 3-3-2 タイマー処理
- 3-3-3 postMessage()を用いた送受信
- 3-4 セレクタAPI(Selectors API)
- 3-4-1 セレクタ(selector)とは
- 3-4-2 セレクタAPI(selector API)とは
- 3-5 テスト・デバッグ
- 3-5-1 ブラウザの開発用の機能を利用する
Chapter4 さまざまなHTML5関連API
- 4-1 グラフィックス
- 4-1-1 Canvas(2D)の基本
- 4-1-2 Canvas:詳細なテキスト描画指定
- 4-1-3 Canvas:図形の変形
- 4-1-4 Canvas:イメージデータの描画
- 4-1-5 Canvas:エフェクト
- 4-1-6 SVG
- 4-2 マルチメディア
- 4-2-1 audio要素、video要素
- 4-2-2 高度なマルチメディアの処理
- 4-3 オフラインアプリケーションAPI
- 4-3-1 アプリケーションキャッシュの制御
- 4-4 ブラウザ履歴とナビゲーション
- 4-4-1 History API
- 4-4-2 Location API
- 4-5 表示状態の監視とアニメーションの制御
- 4-5-1 Page Visibility
- 4-5-2 スクリプトベースのアニメーションのタイミング制御
- 4-6 ストレージ
- 4-6-1 Web Storage
- 4-6-2 Indexed Database API
- 4-6-3 File API
- 4-7 通信
- 4-7-1 WebSocket
- 4-7-2 XMLHttpRequest
- 4-8 Geolocation API
- 4-8-1 Geolocation APIの基本と位置情報
- 4-9 Web Workers
- 4-9-1 並列処理の記述
- 4-10 パフォーマンス
- 4-10-1 Navigation Timing
- 4-10-2 High Resolution Time