配列とハッシュ, 定数と変数, ==と===の違い

What

JavaScriptを用いて、アルゴリズムとデータ構造について学びます。
以下のサイトで打ちながら学ぶと理解が深まります。
https://stephengrider.github.io/JSPlaygrounds/

定数と変数

上書きできるか、できないかが異なります。

変数 (var, let) を使うと値を上書きできます。

> let hoge = 'Hello'
> hoge
>> Hello
> hoge = 'fuga'
> hoge
>> fuga

定数は上書き不可です。

> const hoge = 'Hello'
> hoge = 'fuga'
>> TypeError

配列とハッシュの違い

key: valueの仕組みが異なります。
配列では、配列の順番でバリューを指定します。
ハッシュでは、キーと対応するバリューが読み出されます

> const array = ['hoge', 'fuga', 'hogehoge'];
> const hash = {a: 'hoge', 3: 'fuga', 'state': 'hogehoge'}

> array[0] == hash['a']
>> true

つまり、以下は同じです。

> const array = ['hoge', 'fuga', 'hogehoge'];
> const arrayHash = {0: 'hoge', 1: 'fuga', 2: 'hogehoge'}

==と===

===を使うと、文字列と数列を区別して比較します。

> '1' == 1
>> true
> '1' === 1
>> false