誰しもが初期段階で学ぶJavascript。意外と難しいので注意が必要です。
プログラミング言語と言えば、RubyとかPHPとかGoのようなサーバサイド言語が上げられますが、HTML、CSS、Javascriptのようなフロント言語も学ぶ必要があります。
これらフロント言語は簡単そうに見えて奥が深く、難しいので軽視してはいけません。
Javascriptは特にできる人、できない人の差が顕著に表れます。
Javascriptは結構難しい
Javascriptはなぜ難しいのでしょうか。
デバッグがブラウザ上でしかできない
基本的にはJavascriptのデバッグはブラウザ上で行います。
フロント言語は、ブラウザに表示させるまでプログラムの動きがわからないからです。
ブラウザでデバッグすると、コードの途中で止めるようなデバッグができないので、どのコードが影響しているのかを判断するのが難しくなります。
「なんか表示がおかしいけど、どこが原因なのか分からない」ということが良く起こります。
ブラウザによって動作が変わる
ブラウザで表示させる言語ですから、ブラウザが違えば、動作も少しづつ変わってしまいます。
特にIEはJavascriptエンジニアにとっては天敵であり、IEを使っている人のことは考慮しないプロジェクトもあります。
IEは2022年6月16日にサポートを終了するらしいので、マイクロソフトですらもIEは見限っています。
ChromeやSafari、Edgeなどのブラウザであれば、そこまで違いは大きくないので、最新バージョンのJavascriptを使っていれば、動作の違いは意識しなくてもほぼ大丈夫です。
データの動きが読みづらい
Javascriptは、ブラウザの表示に動きを付けるための言語ですが、データを取ってくる役割もあります。
サーバサイドで作られたAPIサーバからデータを取ってくるわけですが、どんなデータを取得したのか、そのデータがどこで使われているのかを判断するのがちょっと難しいです。
これも、デバッグの難しさが影響していますが、サーバサイドしか触ったことがない人が、いきなりJavascriptでAPIサーバからデータを取得しようとすると、必ずハマります。
Javascriptを克服すれば一歩ステージが上がる
Javascriptは難しいですが、克服してしまえば、エンジニアとして一歩成長できます。
画面のあるサービスなら100%使われている
Javascriptは画面に表示させるサービスで100%使われています。
HTMLとCSSだけで作られている画面はほぼありません。
それだけJavascriptの需要は高いので、Javascriptを極めれば、エンジニアとしての価値が上がります。
TypescriptやReactなどへステップアップも可能
Javascriptの派生系であるTypescriptや、フレームワークであるReactへとつなげることもできます。
TypescriptとReactはフロントエンドエンジニア界隈で人気の言語です。
どちらもJavascriptの知識は必須ですから、フロントエンドエンジニアになるなら、Javascriptの習得は必要になります。
node.jsでサーバサイドも対応できる
node.jsという言語なら、Javascriptを使ってサーバサイドを実現することもできます。
サーバサイドからフロントエンドまで全てJavascriptで作ることができるので、習得する技術数が少なくなるメリットがあります。
ただ、node.jsを使っているプロジェクトは多くないので、node.js以外にもサーバサイド言語を習得した方がいいですし、無理にnode.jsにまで手を出す必要はないかもしれません。
Javascriptを効率よく学ぶ方法
Javascriptを学ぶ方法について解説します。
ドットインストールでアプリを作ってみる
無料でプログラミングを学べるドットインストールというサイトで、簡単なアプリを作ってみるのが良いと思います。
初心者向けプログラミング学習サイトは、Progateが有名ですが、ProgateはJavascriptの構文を学ぶのに最適です。
ドットインストールは構文を使ったサンプルアプリを作れるので、楽しく学ぶことができます。
[getpost id=”172″]
console.logを有効活用する
Javascriptでデバッグする際、console.logというコードが良く使われます。
ブラウザのデバッグツールにある「console」という欄に、console.logに書かれた内容が表示されるからです。
console.logの使い方を覚えれば、Javascriptでのデバッグができるようになります。
あとは実践あるのみ
最終的にJavascriptは、実践経験で習得していきましょう。
学習サイトだと、簡単な実戦形式しか学べないので、もっと複雑なデータの動きの表現方法を学ぶために、実践経験を積むしかありません。
まとめ: Javascriptはとりあえず極めておこう!
Javascriptは汎用性の高い言語なので、とりあえず極めておくと良いでしょう。
サーバサイドエンジニアでもフロントエンドエンジニアでも絶対に使うことになるからです。
できれば、jQueryやReactなどのライブラリ、フレームワークと合わせて学ぶことをおすすめします。
実際の現場では、素のJavascriptが使われるケースは少なく、jQueryでちょっと動きをつけたり、ReactでSPA(シングルページアプリケーション)を作るケースがほとんどだからです。
それでは!