##前置き
これはプログラミングに出会って一年の文系大学生がJavaScriptを旅する備忘録である。
##JavaScriptをなんとなく使ってきていた##
私がプログラミングを学習し始めてかれこれ1年になる。やはり、プログラミングを始めるとまず最初に思うのが**「モダンな技術を身に着けてプログラマーとして就職したい」**というちょっと邪な考えである。
###Vue.jsとの出会い###
この邪な考えを基に、**「プログラミング 言語 モダン」**とGoogle師匠に質問をしていた私はReactやVueといったJavaScriptのフレームワークやライブラリに出会った。そして、深い理由もないままVueをチョイスし、2ヶ月ほど学習を進めていった。
〜二ヶ月後〜
###自分は間違っていたとVueに気付かされる
2ヶ月経って、ある程度動くモノができた時に私は思った。**「で、これはどういう仕組で動いているんだろう」**と。
JavaScriptを勉強しないでVueの学習を始めた私はVueの持つ素晴らしい機能の有り難みをたいして感じることもなく、分からない箇所はコピペをしてなんとなく実装したので、実装後に感じたのは虚しさだけであった。
###そうだ、JavaScriptを始めよう
前置きが長くなってしまったが、ここまできてようやく私は、ピュアのJavaScriptを勉強する必要性に気づいたのである。JavaScriptを勉強することで世間一般で言われている強力なフレームワークの有り難さがわかるようになり、機能を十二分に発揮できるようになると。
そして私はJavaScriptの旅に出ることにした。
##JavaScriptって何者なんだ
さて、修行の旅に出るとは言ったものの、そもそもJavaScriptとは一体何者なのだろうか。ここを疎かにしてしまうと**「木を見て森を見ず」**状態になってしまい過去の自分に逆戻りになってしまうような気がしてならなかった。
###JavaScriptの概要
JavaScriptというものはウェブブラウザー上で動作するプログラミング言語であるらしい。
ウェブブラウザーで動くということはPHPやRubyなどといったサーバーで動くプログラミング言語とは様相が異なるようだ。
はて、サーバー側で動くJavaScriptがあったような…うっ…頭が!こういう余分なことばかりに考えが及び本質からそれてしまうから屁理屈だけは達者になっていってしまうのだ。
さて、気を取り直してJavaScriptで可能な機能の一例を挙げると
- 数値や文字、配列などのデータを扱う(情報のやりとり)
- 日付や時間を扱う(カウントダウンとかできる)
- ブラウザーを操作する(アラートとか出せる)
- ユーザーの行動に伴い処理を行う(自動プレビューとかとか)
- ページの要素の取得(いわゆるDOM操作と呼ばれてるやつで中々重要)
- データ通信(データベースからデータ引っ張ってこれたりする)
- ローカルデータの取扱(Cookieとかとか)
- アニメーションする(理由とか無しに極めてみたい)
がざっと挙げられるのではないだろうか。それぞれの詳しい内容についてはこれからの記事で取り上げていきたいと考えているので今回のところは、あくまでも例示という感じで勘弁していただけたら幸いである。
###ECMAScriptとはなんぞ?
**「JavaScriptはECMAScript(イクマスクリプト)の仕様に基づいている」**という言葉は耳にタコができるほど聞いてきたがECMAScriptが何なのかはあまり耳にしたことがない。全く、初心者に無責任に新しい言葉を投げかけないでいただきたい。私はECMAScriptが分からないという罪悪感で朝も起きれない時期があったのだ。
私と同じ思いを持つ初学者の方のためにECMAScriptととの向かい合い方を紹介させていただきたい。
ECMAなんちゃらという団体がJavaScriptの仕様について議論を行っているのである。そのためJavaScriptの仕様の事をECMAScriptというのだ。
と、まあこんな感じに思っていただけたらあながち間違いではないと私は信じている。とりわけ2015年に大きなアップデートがあったらしく、この年にクラス構文やアロー関数などの今でも超一線級に使用されている機能が追加されたという。以後、毎年のようにアップデートが重ねられているらしく、ECMAなんちゃらという団体様には頭が上がらない。
##今回のまとめ
文系大学生がJavaScriptを旅するシリーズをはじめていくにあたって、最初はどうしても私がこのシリーズを書くに至った経緯やJavaScriptについての体系的な説明をしておきたかった。そのため今回はコードを一回も書くことなく記事を終了することを許していただきたい。
また、個人ブログを先日開設したのでこちらもチェックしていただけると感無量であります。
それでは、最後まで読んでいただきありがとうございました。
##追記
JavaScriptを旅するシリーズ第二弾となる記事を公開したので、こちらの方も是非御一読願いたい。テーマは「let,const,var」である。