Skip to content
Published on

JavaScriptデータ型まとめ

Authors
  • Name
    Twitter

var, let, const の比較

JavaScriptで変数を宣言する方法は3つあります。varキーワードはfunction scopeで、宣言すると関数内部全体で使用できます。一方、letconstはblock scopeで、ブロック内でのみ使用できる変数になります。letconstにも違いがあり、letの場合は変数を別の値に再代入できますが、constの場合は再代入ができません。immutable(不変)かどうかと考えても良いでしょう。

JavaScriptの型

JavaScriptで提供されるデータ型はいくつかありますが、大きく2つに分けることができます。1つ目はプリミティブ型(Primitive type)で、2つ目は参照型(Reference type)です。

  • プリミティブ型:Boolean, String, Number, null, undefined, Symbol(ES6)
  • 参照型:Object, Array, function, classes

プリミティブ型は値を保存するためにCall Stackを使用しますが、参照型はHeapメモリを使用します。

参照型の場合、データのサイズが固定されておらず、データの値がheapに保存され、変数にはHeapメモリのアドレス値が割り当てられます。

JavaScriptは動的(dynamic)型付けの言語であるため、runtimeに変更される可能性があります。そのため、変数定義時にデータ型を明示する必要がありません。

example
const a = "asdf"; //string
const b = 123; // number
let c = 'foo';
c = 123123; // dynamic type
c = true;
c = Symbol(); // symbol type
c = ["hi", "hello"];
console.log(typeof c);