恐るべしJavaScript

IT

Vue、React、TypeScript、どれをとってもベースはJavaScriptです。フレームワークって便利だなって関心しても、結局はJavaScriptを知らないと不自由さを感じるんですよ、という話。

JavaScriptとは

最近、使い始めたばかりだから、きちんと説明できる自信はないけど、Web技術を支えているもっともメジャーな言語という感じです。

ChromeやSafariなんかのブラウザはJavaScriptを解釈するエンジンを内部に持っていて、どのブラウザもこの言語を理解できるんですね。VBA(JavaScript)とExcel(ブラウザ)みたいな関係ですよ。

ネット見るときは、意識することなく、みんな自分のPCやスマホでJavaScriptを走らせてるイメージです。

Web系のシステムが巨大になるにつれて、この言語も発展してて、JavaやC#やPython的な言語に近づいている感じ。静的型付けの機能が追加されたら、ほぼ他の言語と同じになります。

開発する人にとって面倒なのは古いJavaScriptで作ったシステムと、新しいJavaScriptの今風のシステムがあって、JavaScriptの歴史みたいなのや、JavaScriptを取り巻く、いろいろな技術を知る必要があることです。

けっこう沢山あるんですよ。

便利なフレームワーク、でもJavaScriptは知っとかないとわからない。

JavaScriptを土台にもっと複雑なシステムを楽に作ろうってできたのが、VueやReactなどのフレームワークです。JavaScriptの不自由さ、ごちゃごちゃになった状態を知っていると、フレームワークのありがたみがとても良くわかります。

逆にいうと、最初にフレームワークやって、それが標準だと思ってると、わからないことが、あとからあとから出てくるんですよね。結局JavaScript知らなきゃ話にならないんですよ。

自分がそのパターン、なので、あとからJavaScriptの勉強してますね。やってて思うのは、ブラウザがあれば動くし、手軽にプログラムやるのは最適なとこ、VBAみたいなもんだと思うとより身近になりました。

JavaScriptをやって初めて知ったDOM構造

DOMというのは、ブラウザのオブジェクト構造で、エクセルでいうシートやブックみたいな集まりのことで。DOMっていうのをJavaScriptで制御して、画面のデザインを変えたり、データを制御したりできるんですよね。

フレームワークやってても、しょっちゅうDOMの話が出てきて、意味がよくわからなかったけど、JavaScriptで実際に触ってみてやっと理解ができました。

JavaScriptはインターネットの歴史みたいなもん

最初は、ごちゃごちゃして嫌だなと思ったけど、インターネットのホームページがどんどん昔に比べてキレイになったり、リアルタイム通信できるようになったりしたのも、JavaScriptの発展がとても寄与してるんです。

なので、ブラウザごとにJavaScriptのエンジンが違ってて、ブラウザ各社が先に新しい技術を導入してて、その後、生き残った技術で標準化が進んだという感じみたいです。

フォーマルなJavaScriptの規格がEcma Scriptっていう規格で、JavaScriptはその規格のバージョンで管理されてます。ES3とかES6とかES2015とかって感じです。

変化、競争の激しいネット世界で、メジャー言語として生き残ったのがJavaScriptなんで実はスゴイ言語なんですよ。当然歴史も知らなきゃいけないわけですよ。

まとめ

JavaScriptは最初は、ごちゃごちゃしてるし、バージョンごとの違いも知らなきゃいけないなんて、面倒な言語だと思ったけど、ネットを牽引してきた言語だと理解したら、仲良くしていかなきゃって気になりました。

実際に勉強してみれば、ブラウザの基本的なしくみ、ネットワーク、重要な基本知識がバランス良く学べるのです。

ってことでした。