「JavaScriptを勉強してるけど、難しくて挫折しそう…」
「JavaScriptの難易度はどれくらい?」
「JavaScriptで学習を効率的に進めるにはどうしたらいいの?」
フロントエンド開発に携わるなら必須の言語JavaScript。どうにか使えるレベルになりたいと思っているものの、難しくて挫折しそうな方もいるのではないでしょうか?
実は、JavaScriptでつまずくポイントは共通しています!難しいと言われるポイントを理解して、その部分の学習を深めていけばきっと使えるレベルにできるでしょう。
そこでこの記事では、フロントエンドエンジニアのためのオンライン講座Front Hacksの講師であるつよぽんさんに取材!
JavaScriptが難しく感じる原因と挫折しない学習方法をしっかり伺ってきました!
JavaScript学習中の方は必見です!
つよぽん
Front Hacks講師。
プログラミング学習サービスMENTAにてランキング1位を獲得するなど教育にも精通している。
学生時代にインターンでプログラミングを学び、3社で活躍後フリーランスエンジニアへ転身。
Twitter:https://twitter.com/tsuyopon_xyz
JavaScriptってどんな言語?
早速ですが、JavaScriptってどんなプログラミング言語ですか?
ちあき
つよぽんさん
なので、Web開発に携わるならば避けてはとおれません。
ちあき
つよぽんさん
アカウントを作るときは、ユーザーが入力した情報を保存しますよね。保存自体はバックエンドで他の言語がおこなうんですが、バックエンドまでデータを送るのがJavaScriptです。
また、ホームページをスクロールすると「トップに戻る」っていうボタンが出てくることもありますよね。クリックすると上まですっと移動するのは、JavaScriptでつけた機能です。
ちあき
JavaScriptの勉強は難しい?
ちあき
つよぽんさん
というのも、開発環境を構築する必要がないからです。ブラウザさえあればコードを書いて動作確認ができるので、始めやすいんですよね。
ちあき
つよぽんさん
最低限のキーワードを覚えてしまえば、30分くらいでもなんとなく読めるようにはなると思います。もちろんプログラムの仕組みがわからないとつまずきますが、言語自体はそこまで難しくありません。
JavaScriptが難しいと感じる理由
JavaScriptで初心者がつまずくポイントを教えてほしいです。
ちあき
つよぽんさん
- コールバック関数
- 非同期処理
- Promise
で苦労する方が多いですね。
ちあき
つよぽんさん
ちあき
つよぽんさん
アカウントをフォローするときって、自分のIDとフォローしたいユーザーのID情報をバックエンドに投げるんですよね。
で、フォローがうまくいったらボタンを「フォロー中」に書き換えます。逆に電波が悪かったりしてうまく行かなかったら「失敗しました」って表示しますよね。
このように、ツイート成功した・失敗したとわかった特定のタイミングで、次の表示をする関数を実行したいんですよね。このときに使えるのがコールバック関数です。
ちあき
つよぽんさん
せっかく関数を呼び出しても、すぐに結果が出てくるとは限りません。そのときに、一度関数を終了させて、渡したい値が返せる状態になったら通知をするという仕組みが非同期処理です。
ちあき
つよぽんさん
また、Promiseは複雑な非同期処理の流れを書きやすくしたものです。
複雑な非同期処理を実装する際に「コールバック地獄(英語でもCallback Hellと呼ぶ)」というのに陥りがち。ただ、Promiseを使うことで「コールバック地獄」を避けられるようになります。
ちあき
つよぽんさん
実際に非同期処理を伴うライブラリはPromiseの知識がある前提で作られてるものが多くなってきている印象なので、必須の知識と言っても過言では無いかなと思います。
ちあき
つよぽんさん
なので、理解できないままとりあえず先に進んでしまうと、どんどんつまずくところが増えていきます。疑問を先送りにせず、理解しながら勉強することが大切ですね。
JavaScriptでつまずいたときにやるべきこと
ちあき
つよぽんさん
- 文法を理解していない
- コールバック関数が出ると詰まる
- 実際にコードを書くイメージが沸かない
など、人それぞれです。
コードに関しては、自分の作りたいものをイメージすることが大切です。できる範囲で必要な機能を洗い出して実装してみると、自分がわかっていない部分を洗い出せます。
それ以前の文法やプログラム処理が追えないレベルなら、もう一回復習が必要ですね。
ちあき
つよぽんさん
その状態だと、ググって答えのページに辿り着いたとしても、それが答えだとすら気づけないと思うので。
ちあき
つよぽんさん
また、僕が講師を務めるFront Hacksは質問無制限なので、これから始める方にはおすすめです。
ちあき
つよぽんさん
そして質問がかなり具体的なので、教材の質が高いのかなと思いました。
ちあき
つよぽんさん
ステップを細かく刻んで、エクササイズもたくさん取り入れているので、スモールステップで進めるように工夫しました。
セクションごとに復習用の演習問題も用意しているので、初心者の方でも無理なく学習を進められるかなと思います。
公式ページにはサンプル動画もあるので、気になる方は一度見てみてくださいね!
挫折しにくいJavaSpriptの学習ステップ
ちあき
つよぽんさん
それに合わせて必要なものを学習したほうが、挫折率は下がるかなと思いますね。
ちあき
つよぽんさん
- 基礎文法
- 配列やオブジェクトの概念の理解と使い方
- DOM操作
- イベント処理
- 非同期処理
- Promise
- async/await
- 簡単なアプリケーションの実装
ちあき
つよぽんさん
たとえばツイートしたときって、ページを再読込しなくても一番上に新しいものが出てきますよね。
このとき、JavaScriptでページのHTMLを書き換えてるんです。このような知識がDOM操作です。
async/awaitというのはなんですか?
ちあき
つよぽんさん
そこまで勉強したら、アプリケーションをつくっていくのがいいんですね。
ちあき
つよぽんさん
自分がつくりたいものを構築していくことで、理解が深まってきます。もちろんわからないところは出てきますが、その都度今までの知識を元に調べていけばOKです。
調べ方がわからないときは、メンターをつけてどうやったら機能を実現できるか相談すればよいです。一個自力で作れたら達成感もありますし、面白くなってモチベーションが上がっていきますよ!
JavaScriptはフロントエンドエンジニアには必須の言語なので、ぜひ楽しみながら学習を続けてくださいね!
JavaScriptを最速で身につけるならFront Hacks
ちあき
つよぽんさん
ちあき
つよぽんさん
もちろんフロントエンドに必須のJavaScriptもカリキュラムに入れています。わからないところが出てきたら質問無制限にしているので、学習しやすいかなと思いますね!
ちあき
つよぽんさん
また、自分で動画を撮って解説してみたり、画面録画しながら実際にコードを書いて教えてみたりと、対応方法で工夫しています!
そのため、文章だけで理解するのは不安という方もご安心くださいね!
ちあき
つよぽんさん
新しいコンテンツをつくりながらサポートしているので、ていねいに疑問解決できると思います。
初めての勉強で不安な方も、ぜひ一緒に成長していきましょう!
Front Hacksならフロントエンジニアになる基礎が学べる
- 実務経験豊富なエンジニアから現場で使える知識を学べる
- 無期限の質問サポート付き
- 買い切り型で受講期限も無制限