JavaScript のデータ型

基本的なデータ型

  • Number(数値型)
  • BigInt(長整数型)
  • String(文字列型)
  • Boolean(論理型)
  • Symbol(シンボル型)
  • Object(オブジェクト型)
    • Function(関数)
    • Array(配列)
    • Date(日付)
    • RegExp(正規表現)
  • null
  • undefined

数値

数値は Number 型もしくは BigInt 型で扱います。 Number 型は、-(2 の 53 乗-1) から 2 の 53 乗-1 までの値を、BigInt 型は Number 型より大きな値を扱う際に使用します。

console.log(1234567); // 型は Number

console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991

Number 型は浮動小数点数も扱えます。

console.log(10 / 3); // 3.3333333333333335

NaN(Not a Number の略)について。

console.log(parseInt("BeaSkyBlue", 10)); // NaN

// 算術演算すると
console.log(NaN * 7); // NaN
console.log(NaN * -7); // NaN

// NaN かどうか
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN("NaN")); // false

Infinity と-Infinity について。

console.log(1 / 0); // Infinity
console.log(-1 / 0); // -Infinity

// 算術演算すると
console.log(Infinity * 7); // Infinity
console.log(Infinity * -7); // -Infinity

// Infinity、-Infinity、NaN かどうか
console.log(isFinite(1234567)); // true
console.log(isFinite("1234567")); // true
console.log(isFinite(Infinity)); // false
console.log(isFinite("Infinity")); // false
console.log(isFinite(-Infinity)); // false
console.log(isFinite("-Infinity")); // false
console.log(isFinite(NaN)); // false
console.log(isFinite("NaN")); // false

文字列

文字列はダブルクォーテーションで囲みます。

const value = "BeaSkyBlue"; // 型は String
console.log(value); // BeaSkyBlue

null

null は値がないことを表しています。

const value = null; // 型は null
console.log(value); // null

undefined

undefined は値が初期化されていないことを表しています。

const value; // 型は undefined
console.log(value); // エラー

論理値

JavaScript ではどんな値でも論理値として扱うことができます。

  1. false0、空文字列("")、NaNnullundefinedはすべて「false」になる
  2. 上記以外はすべて「true」になる。
console.log(Boolean(0)); // false
console.log(Boolean(1)); // true
console.log(Boolean("BeaSkyBlue")); // true

データ型の変換

// 文字列から数値
const str = "111";
console.log(parseInt("111", 10)); // 111
console.log(parseInt("111", 2)); // 7

// 数値から文字列
const num = 111;
console.log(num.toString(10)); // "111"
console.log(num.toString(2)); // "1101111"

参考