リファレンス型とプリミティブ型
変数は「値を格納する箱のようなもの」ですが、JavaScriptの変数は中に何を格納するかによってリファレンス型とプリミティブ型に大別できます。 まず、数値型やブーリアン型はプリミティブ型に分類され、変数には値そのものが入ります。
それに対して、オブジェクト型や配列はリファレンス型に分類され、変数にはオブジェクトの場所を指し示す値が格納されます。
なお、JavaScriptの場合、文字列は少し特殊で、状況によってリファレンス型のようにもプリミティブ型のようにも振る舞います。