RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

イベント詳細についてはこちらをクリック

kindle unlimitedで無料で読める、JavaScriptの"脱初心者"本を読んでみた。

はじめに

こんにちは、aa_cryingです。 早いもので入社から1年半が経ちました。

kindle unlimitedとは

kindle unlimitedとは、Amazonが展開する、月額制の電子書籍読み放題サービスです。
なんと今なら30日間無料で様々な書籍・漫画が読めるので、JavaScriptの技術書籍を探してみました。

脱初心者のJavaScript力を底上げするための本

Amazonで「JavaScript 脱初心者」と検索すると検索結果の一番上に出てくる書籍です。

f:id:tech-rakus:20191017123656j:plain

脱初心者のJavaScript力を底上げするための本/天田士郎

こちらの書籍では、1章は基本的なコーディングテクニック等が記載されていますが、 2章以降では無名関数・即時関数の使い方や、巻き上げ等脱初心者に必要な知識が説明されています。
コードとともに説明されているため、実際に動きを確かめながら進めることが出来ます。
私はJavaScript特有の「巻き上げ」という概念を知らず、この書籍を読んで初めて知りましたので、抜粋して紹介させていただきます。

「巻き上げ」とは

以下は「巻き上げ」が起こるコードの例になります。

var a = 'hoge';
var f = function() {
  console.log(a);
  var a = 'fuga';
  console.log(a);
}
f();

この例では、一見すると1回目のconsole.log(a)ではhogeが出力されそうですが、「undefined」になります。
JavaScriptでは、関数内のどの位置でもvar文を利用して変数の宣言ができます。
しかし、これらの変数は関数内のいかなる場所で宣言されたとしても「この関数の先頭で宣言された」とみなされます。 このため、以下の例と同じになります。

var a = 'hoge';
var f = function() {
  var a;
  console.log(a);
  a = 'fuga';
  console.log(a);
}
f();

aは1回目のconsole.log(a)の時点では新たに宣言だけされており、代入までは行われません。
(巻き上げられるのは宣言部分のみ)
ですので、1回目のconsole.log(a)の時点では「undefined」となるのです。

このように、他のJavaScript特有の規則等についても例を交えてわかりやすく説明されており、脱初心者には非常に為になる書籍でした。

おわりに

今回はkindle unlimitedで無料で読めるJavaScriptの脱初心者本について紹介させていただきました。

  • 技術書籍を読みたいけれど何から読んだらよいかわからない
  • 本屋で探すのが面倒

という方は、kindle unlimitedで探してみるのもアリかもしれません。
他にも読んでみた書籍がありますので、そちらは次の機会に紹介させていただければと思います。

Copyright © RAKUS Co., Ltd. All rights reserved.