現在html cssの学習を終え、javascriptの学習をしています。
javascriptと合わせて、jqueryの学習も進めていますが、どのような方法が最短ルートなのかなと改めて思い立ち、多くの方の意見を募ろうと思いました。
ちなみに現在の現状は、Progateで手を動かしながら基礎を覚え、ドットインストールで要点の確認・復習(夕食食べながら見てたりしてます。)schooで分かりやすい解説を聞きながら基礎を覚えてみる。というのをやっています。
ある程度腑に落ちたらcodeprepで様々なブックを網羅してみるのも良いかなと思っていますが、今は「確かな力が身に着くjavascript入門)を読んで、基礎を理解しておこうと思っているところです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
クロスブラウザ
JavaScriptはブラウザ毎の実装に差異があり、あるブラウザでは動くが、他のブラウザでは動かないという事は多々あります。
下記サイトは各ブラウザの実装状況、バグについて compatibility table で網羅されているので参考になります。
仕様書
ブラウザ毎に動作が違う原因は主に2つあります。
- ブラウザに該当機能が実装されていない
- ブラウザに実装されているが、標準仕様に準拠していない(実装バグ)
標準仕様を確認する事で、動作の異なるブラウザ間の中でどのブラウザが標準仕様に準拠しているのかを確認する事が出来ます。
- HTML Standard 日本語訳
- ECMA-262 7th Edition / EditionECMAScript® 2016 Language Specification
- 【完全日本語訳+解説】ECMA-262 Edition 5.1を読む (日本語訳 書籍)
- ECMA-262 3rd Edition (日本語訳)
- DOM Standard 日本語訳
- All Standards and Drafts - W3C
- W3C仕様書などのまとめ【保存版】 | W3C仕様書関連の文書や日本語訳をまとめてみた。
学習は次の順番をお勧めします。
- HTML 仕様
- CSS 仕様
- ECMAScript 仕様
- DOM 仕様
- その他、JavaScript API 仕様 (XMLHttpRequest, Fetch, Web Strage, Indexed Database ...etc)
その他、リファレンス&書籍
書籍やWebで公開されている資料は仕様に厳格である事が重視されていない為に説明が不正確であったり、間違っている事が多々あります。
日本語で平易な説明をされている為に取っつきやすいと思いますが、初めに身に付いた不正確な知識を後から仕様書を読んで矯正する必要がある為、最短で学習する事を望むなら参考にすべきではありません。
原則は仕様書を確認し、その他の情報は補完的に読む目的(英文が苦手な人にとっては比較的正確な日本語資料が手元にあると解読しやすいです)で利用して下さい。
私が比較的まともだと感じているのは次の2つです。
MDNはFirefox開発者が運営しているだけあってほぼ正確ですが、仕様を見ると微妙にニュアンスが間違っていることもあります。
MDNは英語が先に更新される傾向にあり、日本語は古い資料が多いのも特徴です(例: 日本語では非標準と説明されているが、英語では標準仕様と説明されている等)。参考程度にとどめておくと良いと思います。
uhyohyo.net は個人サイトですが、説明の内容が仕様に忠実である事を目指している事が分かるのでお勧めです。
仕様書と読み比べながら解読すると理解が深まると思います。
私が所有しているのは『JavaScript 第5版』ですが、仕様と比較して読むと説明の便宜上使われている独自用語を許容すれば、かなり正確な内容で説明されていました。
ECMAScript, DOM の基本はこの書籍で学べるので、基本を体系的に網羅したいなら購入する価値はあると思います。
巷で勧められている『パーフェクトJavaScript』を私はお勧めしません。
私も購入してみましたが、用語の使い方が滅茶苦茶であり、仕様と比較して読むと読者が混乱する事は間違いないと感じています。
(実際にここで質問された方がかなり誤解されていました。)
開発者ツール
ブラウザの内部動作を知るのに開発者ツールは有用なので、各々の使い方を覚えておく必要があります。
- Chrome developer tools - Google 検索
- Firefox developer tools - Google 検索
- IE developer tools - Google 検索
- Edge developer tools - Google 検索
更新履歴
- 2017/04/18 13:47 リファレンスとして uhyohyo.net を追記
Re: garchomp さん
投稿2017/04/18 04:29
編集2017/04/18 06:23総合スコア18162
0
『同時に複数のことを学習しようしない!』
一歩一歩確実に知識をつけていったほうが、結果的には短期間で修得できます。
例えば、Javascriptの知識があやふやな段階で、jqueryを利用したプログラムを書いたとします。
そのプログラムがうまく動かなかった場合、jqueryの部分に問題があるのか、Javascriptの部分に問題があるのかを適切に判断することが出来ません。
でも、Javascriptの知識が十分なら、Javascriptの部分に問題はないのでjqueryの部分を集中して調べる事ができます。
Javascrptとピアノのように全く関係の無いことであれば、同時に学習しても混乱しません。
しかし、Javascriptとjqueryのように似たところの多いものを同時に学習すると、混乱・混同による思い込みや誤解で無駄に時間を費やす恐れがあります。
投稿2017/04/18 04:19
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
最短ルートはわかりませんが私が新しい言語やFWを使う場合はある程度動くシステムを作るようにしています。
「作るシステム」は使いたい機能・使えそうな機能・必ず使う処理(画面遷移やデータの受け渡しなどなど)などを実装しているだけです。
手順?としてはこんな感じです。
- 公式docをさらっと読む(←理解しているつもりになる)
- 公式docのquick startをやる(←マスターしたと勘違いする)
- システムを作る(←壁にぶち当たる)
- 頑張る(ググったり、公式docを見直したり)
エラーメッセージを見慣れることは非常に有益ですし、エラー解決能力も高まります。
「百聞は一見にしかず」という言葉がりますが、「百回見る(コピペ)より1システム作ったほうが得る情報は多い」と感じています。
このやり方が私に合った「最短ルート」ですかね。
投稿2017/04/18 05:56
総合スコア1480
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。