人生なんて暇つぶし

Webエンジニアの雑記ブログ。技術の話題はDApps開発、NEMアプリ開発がメイン。

移転しました。

約3秒後に自動的にリダイレクトします。

React、Vue.jsを学ぶ前に「初めてのJavaScript」

「JavaScript」と聞くとどういうイメージを思い浮かべるでしょうか?

ぼくがプログラミングを始めたのは10数年前。

当時は「HTML + CSS + JavaScriptでWebサイトを作る!」みたいな入門書が並んでいたのを覚えています。要は初心者プログラマー向けってイメージでした。

それから6年ほどブランクを経て、Web業界に転身するんですが状況がガラリと変わってました。

2010年頃にNode.jsが登場し、サーバーサイドでもJavaScriptが利用できる。

フロントエンドとバックエンドで同じ言語を使える。そして、Backbone.js、Angular、React、Vue.jsなどJSフレームワークが続々と登場し衝撃と困惑を同時に味わいました。

業務はバックエンド開発が中心でしたので、JavaScriptを触る機会があってもググった知識でごまかしていました。

最近、アプリを作ろうとAngularを学ぶも文法がわからず挫折。

「昔のイメージのままじゃダメだな」って意識をアップデートし本書を手に取りました。

www.oreilly.co.jp

本書の対象者は?

下記に1つでも当てはまったら読む価値があります。

  • これからWebサービスやアプリを開発したい
  • React、Vue.js、AngularなどのJSフレームワーク触ったけど理解できなかった
  • 書いた順番通りに動いてくれない
  • 次の文を理解できない(1から書けない)
const o = {
  name: 'Julie',
  greetBackwards: function() {
    const getReverseName = () => {
      console.log(this);
      let nameBackwards = '';
      for (let i = this.name.length - 1; i >= 0; i--) {
        nameBackwards += this.name[i];
      }
      return nameBackwards;
    };
    return `${getReverseName()} si eman ym ,olleH`;
  }
};

console.log(o.greetBackwards()); 

JavaやPHP、Pythonを主に使用してますが、JavaScriptで苦しんだのが関数の文法非同期処理

上記の関数はES2015で導入されたアロー関数という表記法を利用しています。わかってしまえばなんてことないんですけどね。

また、思うように動かない理由は非同期処理を理解していないのが原因です。

プログラムは1行目から順番に処理されるというある種思い込みがありましたが、処理が完了するのを待たずに次の処理に移るので、それらを制御するための知識が必要となります。

ググった情報はあくまでも断片的な知識なので、一度包括的に学習するのをオススメします。

本書の評価は?

基礎的な知識は十分に網羅されており、本書を学習したことでVue.jsやAngularの学習スピードが向上しました。

また、サンプルが数多く載っておりほとんどがNode.jsで動作確認できるので、とりあえず写経してパッと動かしてみることができるので理解も早いです。

PDF形式であればコピペもしやすく、持ち運びもしやすいのでオススメです。

PDFでの購入はこちら

※Kindleは参考書に向いてないと思ってるので、PDFで購入するようにしています。

学習後の理解度ですが、ぼくは本書を学習した総仕上げとして、Node.jsでSlackのリアクションを集計するツールを作成しました。

www.maroemon.com

これくらい作れるって目安になるかと思います。

まとめ

フロントエンドを学ぶことは必須ではないですが、技術について発信したいならJavaScriptの基礎から学んでおいて損はないでしょう。

「ぼくはこんなサービス作りました!」ってわかりやすくアピールしやすいですからね。ではまた。