JavaScriptの学習をしても挫折する人の多くは、「JavaScriptは分かりにくい」「自分はWeb開発に向いていない」と言います。悲観的になってあきらないでください。アプローチの仕方を変えることが大切です。
この記事では、多くの人が学習中に経験する失敗の対処法を取り上げます。JavaScriptだけではなく、Web開発全体に当てはまる内容なのでぜひ活用してください。
失敗その1:始める前にあれこれ調べすぎる
JavaScriptの学習を始める前に、たくさんのことを調べたくなるかもしれません。ちょっと調べるだけでJavaScriptがどれだけすばらしいものか、逆にいかに悪いものかといった情報が見つかりますし、必要不可欠だというフレームワークも見つかります。「本物の開発者」になるためのJavaScriptの書き方もあるでしょう。情報の信頼性はさておき、あれこれ悩んで半年、一年もの時間を無駄にしてはいけません。
とにかくコードを1行書きます。完ぺきどころか、ひどい出来かもしれませんが「始める」ことは、多くの人がぶつかった壁を乗り越えられたのです。
失敗その2:プレーンなJavaScriptの前にフレームワークを学ぶ
JavaScriptフレームワークもJavaScriptのプレーンテキストで成り立っています。JavaScriptを理解できれば、JavaScriptフレームワークの使い方も自動的に理解できるのです。
プレーンなJavaScriptを飛び越えてフレームワークを先に始めるのは、単語の意味を知らないのに文章を書こうとするのと同じで表面的な理解しかできません。文章を丸ごと覚えるだけで単語が持つ意味を理解できないので、表現したい文章に単語をどう使えばいいのかわかりません。
フレームワークから始めても理解しづらく、別のフレームワークの習得にさらに時間を取られます。プレーンテキストのJavaScriptを学び、基礎を固めておけば、どんなフレームワークでも理解できます。
失敗その3:すぐに次の段階へ進もうとする
概念を理解したらすぐ次に進もうとすることもありがちです。なにかを理解したら、先に進みたくなる欲求のせいで私は本当に苦労しました。
そこで、理解した概念を新しいおもちゃだと捉えます。習得したら時間をとって遊びます。いじくり回して、実験して、どうなるか確認します。いろいろな方法で学んだ分しっかりと覚えられます。概念を無意識に使いこなせるようになったと感じたら次に進みます。最初こそ多少時間を取られますが、結局はそのほうが早く進みます。
急いで先に進んでも、わずかな点の1つ1つを忘るたびに戻って調べ直しをすると、時間がかかってやる気もなくなってしまいます。実際、このためにJavaScriptをやめたと人は本当に多いのです。
失敗その4:概念を細分化しない
学習とは、ゴールまで階段のように1段ずつ上がります。難しすぎると感じるのはたいてい1段ずつではなく一気に飛び上がろうとたときです。無茶なやり方なので当然です。
あるコードが理解できずにもがいている人には、1行ずつ順番に説明すると理解できます。全体を一度に説明すると、さらに混乱してしまいます。
わからなくなった場合はたいてい一気に進もうとしているせいなので、問題点を小さく分割すれば理解できます。分割したのに概念が理解できなくても、分からない点がはっきりするので、調べやすくなっるはずです。
失敗その5:複雑なプロジェクトに挑戦するのが早すぎる
JavaScriptの学習を始めたばかりの人は、大規模にするために必要なことを理解していないのに「早くSNSにコードを組み込みたい」と言います。プロジェクトの難しさに直面するとJavaScript自体を諦めてしまうのです。
以前も書きましたが、プロジェクトは基礎的な概念を理解することで、必要なブロックを、道具として持つことができます。
プロジェクトと一生関わらないようにというわけではなく、ブラウザーにテキストを表示させる、ボタンクリックの処理を記述するといった基本的な部分を先に済ませておけばプロジェクトを始めるが簡単になるのです。
失敗その6:実際の開発環境で練習していない
Webサイトに備わっているエディターや、チュートリアルからペーストしたファイルなど、実際とは違う環境でJavaScriptの練習していることがあります。学習にはいい方法ですが、自分だけのエディターを見つけたり、ヒントを元にして自分でコーディングすることで、技術を磨くのも大切です。
いつまでも補助輪に頼らず概念をものにする練習をしないと、本当に理解はできません。
失敗その7:一流の開発者と自分を比べる
自分を一流の開発者と比べるとやる気が一気になくなります。その人がどうやって一流になったかは注目せずに、いまの地位だけを見ているのです。私のチュートリアルを見た人からどうしてそんなきれいなコードが書けるのかと尋ねられます。きれいなコードが書けなければJavaScriptに向いていないと言わんばかりです。
タネを明かせば、書いてる途中はぐちゃぐちゃでした。試して、失敗して、調べて、汚いコードを書いて、書き直してようやく人に見せられるチュートリアルにするのです。きれいなコードしか見られないため、それを見た人は最初からきれいだったんだろうと考えます。実際、私も自分でチュートリアルを書くまでは同じように考えていました。
大切なのはいま学習していることに集中して、改善することです。この過程を何度も繰り返すことで、どうしてそんなことができるのかと不思議がられるようになります。
失敗その8:情報ばかり消費して実際にコードを書かない
ビデオを見たりチュートリアルを読んだりするのに時間を費やすのは簡単ですが、実際にコードを書かなければ身につきません。
情報を消費して行動しなくても、勉強している気になります。これは危険です。半年後、学んだつもりのことがなにも実践できないことに気づくでしょう。15分コードを書けば、1時間情報を消費する以上のことを学べます。
失敗その9:理解したり試したりせずにただチュートリアルをなぞる
チュートリアルを読むと、同じ手順をそのままなぞりたくなりますが、実験的にいろいろな角度から試す「問題解決のための典型的なアプローチ」は身につきません。
ただ手順を1つずつ真似するのではなく、時間をとっていろいろ試します。たとえばスライドショーのチュートリアルの場合でも、div要素を隠したり出したり、タイミングを変えたり、細分化したりして試します。この実験はただ真似する以上のことを学べて、さらに応用ができるようになります。
要点
今回の記事で覚えてほしいのは、「千里の道も一歩から」です。なにを学習しているとしても、まず基礎をしっかり身につけてください。学んだことをいろいろ試して、楽しむのです。難しく感じるときもありますが、それでいいのです。挑戦することでスキルが磨かれ、さらに成長できます。すべてが簡単に感じるなら、学習方法を変えるといいでしょう。
(原文:Learning JavaScript: 9 Common Mistakes That Are Holding You Back)
[翻訳:前田類/編集:Livit]