独習JavaScript 新版(CodeMafia 外村 将大)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 独習JavaScript 新版

独習JavaScript 新版


形式:
書籍
発売日:
ISBN:
9784798160276
定価:
3,278(本体2,980円+税10%)
仕様:
B5変・576ページ
カテゴリ:
Webプログラミング
キーワード:
#Web・アプリ開発,#プログラミング,#ネットワーク・サーバ・セキュリティ,#開発手法
シリーズ:
独習
紙の書籍

JavaScript“標準教科書”が人気講師の書き下ろしで新登場!
初心者から経験者まで。上達するために
「押さえておきたい基礎知識」総ざらい

JavaScriptの独学に最適な標準教科書として、長年にわたって読まれてきた
『独習JavaScript』。オンライン学習スクールUdemyの人気講師、CodeMafiaこと、
外村将大 氏による完全書き下ろしで新登場です!

本書では、JavaScriptでプログラミングを行う際に必要となる、
基本的な知識/概念/機能、文法/プログラムの書き方を、
さまざまなサンプルプログラムを例示しながら、詳細かつ丁寧に解説します。

プログラミングの基礎知識がない方でも、解説→例題(サンプル)→理解度チェック
という3つのステップで、JavaScriptの基礎を完全習得できます。

【本書「はじめ」により抜粋】
JavaScriptは、初心者にもわりあい馴染みやすい(プログラムを書くのが比較的簡単な)
半面、本格的なプログラムを書こうとすると途端に難易度が上がるプログラミング言語です。

それは、他のプログラミング言語ではあまり見られない、JavaScript特有の言語仕様が関係
しています。そのため、本書ではそれらの「落とし穴(JavaScript のクセや動作原理など)」
についても、図解とともに丁寧に解説しています。

私自身、初心者だったときに「なぜそのように動くのか?」まで解説してくれる書籍に
出会えず、JavaScriptの本質的な部分を理解するのにとても苦労しました。その経験を踏まえ、
初心者の方でもJavaScriptの本質をきちんとつかめるよう本書を執筆しました。
--------------------

【ポイント】
●JavaScriptの独学に最適な教科書として好評の『独習JavaScript』最新版。
 初心者がJavaScriptを学ぶにふさわしい一冊
●JavaScriptでプログラミングを行う際に必要となる基本的な知識/概念/機能、
 文法/書き方を、網羅的かつ体系的に習得できる

JavaScriptの入門者、これからJavaScript言語で開発を始めたい初学者から、再入門者、
学生・ホビープログラマまで、「一からJavaScriptを学びたい」
「JavaScriptプログラミングの基本をしっかり身につけたい」という方におすすめの一冊です。

JavaScriptを学ぶための”標準教科書”

本書の学習メソッド

わかりやすい【解説】

わかりやすい【解説】

JavaScriptの基本的な言語使用から、クラス、組み込みオブジェクト、コレクション、反復処理、非同期処理、DOM、イベント、モジュールまで、サンプルプログラムを例示しながら詳細かつ丁寧に解説します。

理解が深まる【例題】

理解が深まる【例題】

具体的な操作例やサンプルプログラム、実行結果を示し、手を動かして確認しながら学習できます。

力試しの【練習問題】

力試しの【練習問題】

各章末にある【理解度チェック】で、その章で学んだ事項を理解できたか確認できます。

Chapter 1 イントロダクション
Chapter 2 JavaScript開発の基礎
Chapter 3 変数とデータ型
Chapter 4 演算子
Chapter 5 制御構文
Chapter 6 関数
Chapter 7 スコープ
Chapter 8 thisキーワード
Chapter 9 クラス
Chapter 10 組み込みオブジェクト
Chapter 11 コレクション
Chapter 12 反復処理
Chapter 13 非同期処理
Chapter 14 DOM
Chapter 15 イベント
Chapter 16 モジュール
Chapter 17 Node.js

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年05月16日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 0-v
サンプルファイル
サンプルファイル内に誤りがございました。誠に申し訳ございません。 お手数をおかけいたしますが、修正したデータを以下のリンクからダウンロードしていただきますよう お願いいたします。 配布サンプル[dokushujs.zip:240KB](2023.01.13更新)

※リフローEPUBの場合、サンプルファイルについては、巻頭の「本書の読み方」をご覧ください。
2023.01.13
1刷 003
1つ目のpoint 2行目
EMCAScriptは、プログラミング言語ではなく、
ECMAScriptは、プログラミング言語ではなく、
2023.12.14
1刷 013
「1.3.4 環境設定が問題ないか確認する」の「HTML コードを記述」本文3行目
2刷
記述が完了したら[Ctrl]+[Shift]キー(macOSの場合は[Command]+[Shift])を押して
記述が完了したら[Ctrl]+[S]キー(macOSの場合は[Command]+[S])を押して

※リフローEPUBの場合、図1.11の下にある「ブラウザ画面確認用のコード(index.html)」のすぐ下にある段落が該当箇所になります。
2022.02.28
1刷 023
「2.1.2 JavaScriptの実行方法」の「◆JavaScript の実行」本文2~3行目
2刷
キーボードの[Ctrl]+[Shift]キー(macOSでは[Command]+[Shift]キー)で
キーボードの[Ctrl]+[S]キー(macOSでは[Command]+[S]キー)で

※リフローEPUBの場合、「2.1.2 JavaScriptの実行方法」の2つ目の小見出し「◆JavaScriptの実行」の最初の段落が該当箇所になります。
2022.02.28
1刷 055
「◆ BigInt リテラル」と「◆ オブジェクトリテラル」と「◆ 関数リテラル」のコード例
3刷
◆ BigInt リテラル 12345678910n; ◆ オブジェクトリテラル {   name: "独習太郎",   age: 15 }; ◆ 関数リテラル let abc = function (){   ... };
◆ BigInt リテラル 12345678910n ◆ オブジェクトリテラル {   name: "独習太郎",   age: 15 } ◆ 関数リテラル let abc = function (){   ... }

それぞれの「;」(セミコロン)を削除します。

※リフローEPUBの場合、「3.4.2 リテラル」の上記3つの小見出しのサンプルコードが該当箇所になります。
2022.07.21
1刷 057
表3.4の下のコード例
3刷
console.log("一行目¥n二行目") > 一行目  二行目
console.log("一行目¥n二行目"); > 一行目  二行目

コード1行目の行末に「;」(セミコロン)を追加します。
2022.07.21
1刷 064
「3.6.1 オブジェクトの初期化」の「構文 オブジェクトの初期化」
3刷
let オブジェクトの名前 = {   プロパティ1: 値1,   プロパティ2: 値2,   プロパティ3: 値3, }
let オブジェクトの名前 = {   プロパティ1: 値1,   プロパティ2: 値2,   プロパティ3: 値3, };

コード最終行に「;」(セミコロン)を追加します。
2022.07.21
1刷 066
「ドット記法でプロパティにアクセス(dot_syntax.html)」の続き 下から1行目
3刷
console.log( person.family.wife ); > 花子 console.log( person ); > { age: 18, family: { wife: "花子", child: "三郎" }, gender: "男", name: { first: "太郎", last: "独習" } }
console.log( person.family.wife ); > 花子 console.log( person ); > { age: 18, family: { wife: "花子", child: "三郎" }, gender: "男", name: { first: "太郎", last: "次郎" } }

※リフローEPUBの場合、「3.6.2 ドット記法」のコード例「ドット記法でプロパティにアクセス(dot_syntax.html)」の最下行が該当箇所になります。
2022.05.25
1刷 068
コード例「ブラケット記法の使用例(bracket_syntax.html)」下から1~5行目、コード例「変数を使ったプロパティ名の指定(bracket_variable.html)」上から1~4行目
3刷
▼ブラケット記法の使用例(bracket_syntax.html) console.log( person["family"]["wife"] ); > 花子 console.log( person ); > { age: 18, family: { wife: "花子", child: "三郎" }, gender: "男", name: { first: "太郎", last: "独習" } } ▼変数を使ったプロパティ名の指定(bracket_variable.html) const members = {   member1: "太郎",   member2: "次郎", }
▼ブラケット記法の使用例(bracket_syntax.html) console.log( person["family"]["wife"] ); > 花子 console.log( person ); > { age: 18, family: { wife: "花子", child: "三郎" }, gender: "男", name: { first: "太郎", last: "次郎" } } ▼変数を使ったプロパティ名の指定(bracket_variable.html) const members = {   member1: "太郎",   member2: "次郎", };

※リフローEPUBの場合、「3.6.3 ブラケット記法」の2つのコード例が該当箇所になります。
2022.07.21
1刷 069
「3.6.3 ブラケット記法」の「column オブジェクトリテラル内のブラケット記法」のコード例、下から3行目
3刷
const keyBase = "member"; let members = {   [ keyBase + "1" ]: "太郎",   [ keyBase + "2" ]: "次郎", } console.log( members ); > { member1: "太郎", member2: "次郎" }
const keyBase = "member"; let members = {   [ keyBase + "1" ]: "太郎",   [ keyBase + "2" ]: "次郎", }; console.log( members ); > { member1: "太郎", member2: "次郎" }

「;」(セミコロン)を追加します。
2022.07.21
1刷 070
「3.6.5 メソッド」の「構文 メソッドの定義と実行」のコード例 3行目、コード例「メソッドの記述例(object_method.html)」の3行目
3刷
▼文 メソッドの定義と実行 let オブジェクト = {   プロパティ: function( [ 引数 ] ) { 関数の処理 } } ▼メソッドの記述例(object_method.html) let person = {   hello: function() { console.log( "こんにちは" ); } }
▼構文 メソッドの定義と実行 let オブジェクト = {   プロパティ: function( [ 引数 ] ) { 関数の処理 } }; ▼メソッドの記述例(object_method.html) let person = {   hello: function() { console.log( "こんにちは" ); } };

どちらも「;」(セミコロン)を追加します。
2022.07.21
1刷 071
「3.6.5 メソッド」の「column オブジェクトリテラル内の省略記法」の1つ目のコード例 3行目
3刷
let person = {   hello() { console.log( "こんにちは" ); } }
let person = {   hello() { console.log( "こんにちは" ); } };

「;」(セミコロン)を追加します。
2022.07.21
1刷 072
「3.6.5 メソッド」の「column オブジェクトリテラル内の省略記法」の2つ目のコード例の下から3行目、および「練習問題 3.6」コード例の1行目
3刷
▼識別子をそのままプロパティ名として利用 } console.log( obj ); > { val: 10, fn: function() {} } ▼練習問題 3.6 let obj = { /* ここにプロパティを追加 */ }
▼識別子をそのままプロパティ名として利用 }; console.log( obj ); > { val: 10, fn: function() {} } ▼練習問題 3.6 let obj = { /* ここにプロパティを追加 */ };

どちらも「;」(セミコロン)を追加します。
2022.07.21
1刷 073
「3.6.6 シンボル(Symbol)」の2つ目のコード例、上から6行目
3刷
▼シンボルを使ってプロパティを設定(symbol.html) let mySymbl1 = Symbol(); let mySymbl2 = Symbol(); const obj = {   [ mySymbl1 ]: "値1",   [ mySymbl2 ]() { console.log( "こんにちは" ); } }
▼シンボルを使ってプロパティを設定(symbol.html) let mySymbl1 = Symbol(); let mySymbl2 = Symbol(); const obj = {   [ mySymbl1 ]: "値1",   [ mySymbl2 ]() { console.log( "こんにちは" ); } };

「;」(セミコロン)を追加します。
2022.07.21
1刷 080
[4]見出しと問題の文章 2行目
4刷
見出し: [4] nullとUndefined 問題の文章: が[ (3) ]であることを表しています。
見出し: [4] nullとundefined 問題の文章: 変数が[ (3) ]であることを表しています。

※リフローEPUBの場合、Chapter 3の末尾にある「この章の理解度チェック」が該当箇所になります。
2022.08.17
1刷 101
構文「三項演算子」
4刷
条件式 ? { 条件式がtruthyのときに実行 } : { 条件式がfalsyのときに実行 }
条件式 ? 条件式がtruthyのときに実行する式 : 条件式がfalsyのときに実行する式
2024.02.15
1刷 104
「その他の書き方」2行目
4刷
undefined.notMethod?.();
undefined?.notMethod?.();

「undefined」のあとに「?」を追加します。
2024.02.15
1刷 119
「switch文の基本的な使い方」のファイル名
switch文の基本的な使い方(index.html)
switch文の基本的な使い方(switch_case.html)
2024.05.16
1刷 316
「練習問題 11.1」の「対象の配列」
4刷
const chuka = [ "八宝菜", "餃子", "回鍋肉", "青椒肉絲" ];
let chuka = [ "八宝菜", "餃子", "回鍋肉", "青椒肉絲" ];

ダウンロードファイル「付録A「練習問題」「この章の理解度チェック」解答」 の46ページ解答例の1行目も同様に修正いたします。
2022.10.18
1刷 408
1行目
4刷
④2人で一斉にスタートし、
④3人で一斉にスタートし、

※リフローEPUBの場合、Chapter 13の末尾にある「この章の理解度チェック」の問題[2]の④の記述が該当箇所になります。
2023.01.13
1刷 450
「[3] セレクタと要素の変更」の②
4刷
#sub-titleに
.sub-titleに
2024.02.15
1刷 451
「フォーマット」1~2行目、5~6行目
4刷
1~2行目 #meのborderの上端とHTMLの上端の間隔は{間隔}pxです。 #meのborderの左端とHTMLの左端の間隔は{間隔}pxです。 5~6行目 #meのborderを含めた高さは{高さ}pxです。 #meのborderを含めた横幅は{横幅}pxです。
1~2行目 #meのborderの上端とHTMLの上端の間隔は${間隔}pxです。 #meのborderの左端とHTMLの左端の間隔は${間隔}pxです。 5~6行目 #meのborderを含めた高さは${高さ}pxです。 #meのborderを含めた横幅は${横幅}pxです。
2024.02.15
1刷 452
「③Todoアイテムを完了とする関数の実装」の本文
4刷
Todoアイテムを完了の表示に変更するcompTodoItem関数を作成してください。
Todoアイテムを完了の表示に変更するcompleteTodoItem関数を作成してください。

以下の箇所の「compTodoItem関数」も同様に「completeTodoItem関数」に修正します。
452ページ(2か所修正)
・「③Todoアイテムを完了とする関数の実装」のヒント
  compTodoItem関数の挙動を確認する場合は、
・見出し「compTodoItem関数の仕様」

※リフローEPUBの場合、Chapter 14の末尾にある「この章の理解度チェック」の問題[4]のサンプルコードの下にある記述が該当箇所になります。
2023.01.13
1刷 510
「17.1.1 Node.js の環境構築」の「Node.js のダウンロードURL」
4刷
https://nodejs.org/ja/download/
https://nodejs.org/en/download/
2024.02.15

感想・レビュー

MATSUDA, Shougo さん

2022-03-20

図書館。新版の独習シリーズ、Python、Rubyと読んできてこのJavaScriptに来ましたが、非常に基本から応用の深い所に通ずる所まで分かりやすく学ぶことができ、中途半端な理解に留まってしまっている所がある自分にとってそう復習となりました。

梶清智志 さん

2022-02-04

プログラムに興味がでたので、勉強のために購入しました。ほぼ初心者なので、パソコンの環境設定から詳しく記載してくれているのが助かりました。単純にコードを丸暗記するのではなく、どうしてこのように書くのかという仕組みを理解しながら読める本です。