より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

読書感想「何となくJavaScriptを書いていた人が一歩先に進むための本」

何となくJavaScriptを書いていた人が一歩先に進むための本

JavaScriptの良さとして、一番に思い浮かぶのが敷居が低い点です。

コンパイルがなく、手軽に書ける。とりあえず動く。

読み進めていくうちに、タイトルの何となくJavaScriptを書いていた人というのが自分であることに気づかされていきます。

for in と for of

JavaScriptのfor inはインデックスが取得されます。

あれ? そうだったっけ? 動かすと、本当だと気づかされました。

var items  = [ "One", "Two", "Three"];

for (var item in items) {
    console.log("for in " + item);
}

f:id:rimever:20200716215739p:plain
配列の中身のOne,Two,Threeではなく、インデックスの0,1,2を取得する

C#のforeachのように配列の値を取得したいときにfor ofを使います。

var items  = [ "One", "Two", "Three"];

for (var item of items) {
    console.log("for of " + item);
}

f:id:rimever:20200716220141p:plain

ECMAScript6、ECMAScript2015の機能です。もう5年前に追加された仕様です。

Stringオブジェクトにメソッド追加

JavaScriptで既存に用意されているStringオブジェクトに対して、簡単に関数が追加できます。

JavaScriptの気軽さを感じるエピソードです。

String.hoge = function () {
    return "hoge";
}
console.log(String.hoge());

f:id:rimever:20200716220507p:plain
hoge

危ないですね、これは。

ECMAScript6(ECMAScript2015)

本書は2016年5月に発刊された本です。

そこで、ECMAScript6の仕様が説明されています。

その中でも、テンプレート文字列って重要な仕様じゃんと気づかされました。

ダブルクォーテーションではなく、バッククォートで文字列を囲みます。

var first = "Yamada";
var last = "Taro";
console.log(`My Name is ${first} ${last}`);

もちろん、2020年の現在、ECMAScript2019まで新しくなっているので、きちんと新しい仕様を追っていかないとならんなあと痛感した次第です。