「JavaScript勉強し始めたけど、難しくて挫折しそう。。。初心者向けの言語って言われてるけど結構難しくない?私だけ?」
「皆どれくらいで理解できるようになってるの?私だけこんなに遅いのかなあ。」
今回は上記のような疑問、お悩みに対してお答えします。
結論
まず、上記の疑問についての結論ですが、JavaScriptが難しいと感じる事はプログラミング初心者であれば「とても自然な事」です。
だから安心してください。あなただけではありません。
JavaScriptはプログラミング「言語」です。今まで触れた事がない言語に戸惑ったり、分からなかったりするのは当然では無いでしょうか。
英語の勉強もABCから始めたはずです。なので最初からできない事は全く問題ありませんし、皆そうです。
その上でJavaScriptが難しいと感じる理由は主に以下のようなものかなと思います。
・「木を見て森を見ず」状態になり、ゴールが見えづらい
・出来ることが多すぎる
・DOMや引数、戻り値の概念を理解できない
いかがでしょうか。同じような思いをされている方も多いのでは無いでしょうか。
これらの理由からJavaScriptはプログラミング初心者にとって難しいと思われがちです。
ではこれらの内容を深掘りしてみましょう。
「木を見て森を見ず」状態になり、ゴールが見えづらい
これは世の中にある教材に問題があると考えています。
というのも「まず森を見せる前に木を見せるから」です。
大体の技術書がではJavaScriptのザックリとした概要からアウトプットの方法や変数など、知識の基礎知識を紹介しています。
それ自体は確かに大事なのですが、「何のためにこの木を見ているのか、なんのためにこの技術を学んでいるのか」分からず、理解する事が難しいのです。
人間は目的が分かればその為の手段をより深く理解できるものです。
例えば料理を作るためにスーパーに買い物に行くとします。
その場合、何を作るかを事前に決めておいたり、知っていれば「あの野菜が必要だな、この材料はいらないな」という事を判断出来ると思いますが、JavaScriptの学習でも全く同じ事が言えます。
何を作るかも分かっていないのに、「この野菜はこういう特徴があって」という話を聞かされてもよく頭に入ってきませんよね。
そのため、JavaScriptを学ぶ時は何を作るかを決めてから学習を始めると、より理解が進み学習を効率的に進めることができます。
具体的な対策
この件に関する対策としては、「作りたいもの=ゴールを決める」が最も分かりやすい方法です。
JavaScriptで作りたいものはありますか?
例えばJavaScriptで作れるものは以下のようなものがあります。
JavaScriptで出来る事
・モーダルウィンドウ
・ページ内のスムーススクロール
・ローディングアニメーション
などなど。
これはJavaScriptで出来る事のほんの一部に過ぎませんが、まず作りたいものを決める事でそれぞれの学びが一つに繋がりやすくなるはずです。
ゴールを決めずに学んでも
で?これはどこで使うものなの?
となり中々理解することができません。
なので、事前に作りたいものを決めて学習するとより効率よく理解する事が出来るはずです。
出来ることが多すぎる
先述しましたが、JavaScriptは出来る事が非常に多いです。
そのため、あれもこれもと目移りしてしまい結果一つ一つの知識が浅くなり理解が一向に進まないという現象が起こります。
JavaScriptはフロントエンドでもバックエンドでも使える万能型のプログラミング言語です。
WEBサイトももちろん作れますし、アプリケーションも作れます。
その為、JavaScriptを使う目的をしっかりと考えてから勉強する事が大事と言えます。
具体的な対策
ここに関する具体的な対策は「一つの機能を何も見なくても作れるくらいに勉強する」という事です。
例えば、先に挙げたモーダルウィンドウやローディングアイコンなどでも構いません。
「これを作るなら私に任せとけ!」と言えるくらいその機能を作る事に対する理解を深めてみましょう。
こうする事で、「この機能を作る事なら負けない!」という自信にもつながりますし、結果的にJavaScriptに対する理解も深まりやすくなるはずです。
あれもこれもと目移りして結局何も進まないのはプログラミング学習ではあるあるであるため、一つ一つ作り方を知っていく事が大切だと思います。
DOMや引数、戻り値の概念を理解できない
初心者にとって、DOMの概念や関数はつまずくポイントだと思います。
私も最初全然意味が分かりませんでした。
色んな書籍なサイトで解説されているんですが、いまいち理解する事が出来なかったんです。
具体的な対策
これらを理解するには「良い教材で学ぶ」。これに限ります。
ここで言う良い教材とは「分かりやすく、理解しやすい教材」という事です。
その上では私は動画を推します。書籍が良い場合もありますが、動画であればより噛み砕いて説明してくれるものが多い為です。
その中でもオススメなのがこちらの動画です。
この動画を見ればDOMや関数に関して理解する事が出来ると思います。
また、今回のトピックには関係はありませんが、分かりやすい動画を出されている方で言えば、こちらの方の動画はめちゃくちゃ分かりやすいのでよかったら見てみて下さい。
現役エンジニアも調べながら使っている
「JavaScriptを理解した!」と胸を張って言えるのはどこまで理解できてからでしょうか。
正直多くのエンジニアの中でも完璧に理解出来ている人は少ないかもしれません。
エラーを解決する引き出しの数やコードを書く速さ、正確さなどはコードを書きつづけることで向上していくものですが、基本的には現役のエンジニアであってもググりながらJavaScriptを使っている事がほとんどです。
そのため、初心者の方も分からないからといって気落ちすることはありません。
分からないのは普通のことであり、誰もが通る道なのです。
エラーを通じて成長する
プログラミングをしているとエラーはつきものです。
エラーが起きると気が滅入ったりするものですよね。
ただ、エラーを解決するために悩んだり、試行錯誤する時間は考えようによっては自分自身のプログラミング力を高める絶好の機会、チャンスと言えます。
エラーを解決するために色んな方法を試したり、調べたりすることで、気づかないうちにプログラムに対する知見が高まり、エラーを解決する頃には能力が知らず知らずのうちに上がるということですね。
このように、エラーは一見面倒で厄介ごとのようにも思いますが、実際は自分の能力を高めてくれる最高の勉強材料となります。
どのエンジニアもエラーを通じて成長していくため、根気よく解決方法を探していきましょう。それが能力アップに繋がりますよ。
疲れたら休むことも大事
JavaScriptの習得には人それぞれですが一定の時間がかかります。
特に初めてプログラミング学習をする上で最初の言語がJavaScriptであればそれ相応の時間が必要になってきます。
そのため、時にはモチベーションが下がって休みたくなる時もあるでしょう。
そういう時は休んで良いと思います。あまり自分を追い込みすぎると挫折に繋がりやすくなるからです。
ただ、そのままプログラミングから何ヶ月も離れてしまうのはこれまた挫折につながるのでご注意を。
プログラミングは「コードを書くこと」が一番上達につながるため、書かないと忘れてしまうからです。
そのため、いつから再開するかを決めてから休むようにしましょう。
終わりに
というわけで今回はJavaScriptを学ぶ上で難しいと感じやすい理由とそれに対する対策を見てきました。
初心者のうちは中々理解が進まず、焦ったり、イライラすることもあると思いますがそれは皆が通る道です。
その上でまずは作りたいものを決めて、ゴールに向かって学習を進めることでより効率的に学習できるようになります。
ただ漠然と基礎学習を進めていても中々成長している実感は持てません。
プログラミング力を身につけるにはコードを書くこと。綺麗なコードじゃなくても、エラーが出てもいいので試行錯誤しつつ進めていきましょう。
気づいた頃にはコードを書く力は以前とは比べ物にならないくらい伸びていると思います。
では本日の記事は以上となります。
おしまい✨