在JavaScript中,一共有六種資料型別,如下圖所示:

一、數字型別(Number)

1、最基本的資料型別;
2、不區分整型數值和浮點型數值;
3、能表示的最大值是±1.7976931348623157乘以10的308次方;能表示的最小值是±5 乘以10的-324次方;
4、包含十六進位制資料,以 0x開頭 0到9之間的數字,a(A)-f(F)之間字母構成。 a-f對應的數字是10-15;
5、八進位制直接以數字0開始,有0-7之間的數字組成。

二、字串型別(string)

1、字串由單引號或雙引號括起;

2、例如單獨一個字母也被稱為字串(例如:‘a’);

3、使用字串注意事項:不能一單一雙,必須成對出現。

三、布林型別(Boolean)

1、布林型也被稱為邏輯值型別或者真假值型別;

2、布林型只能夠取真(true)和假(false)兩種數值, 也代表1和0,實際運算中true=1,false=0;

var bool1 = true;
var bool2 = false;
console.log(typeof bool1); // boolean
console.log(typeof bool2); // boolean

3、雖然Boolean 型別的字面值只有兩個,但 ECMAScript 中所有型別的值都有與這兩個 Boolean 值等價的值。

任何非零數值都是true, 包括正負無窮大, 只有0和NaN是false
任何非空字串都是true, 只有空字串是false
任何物件都是true, 只有null和undefined是false

四、Null和Undefined

1、Undefined這是一種比較特殊的型別,表示變數未賦值,這種型別只有一種值就是undefined。

  var num;
  console.log(num);  //結果是undefined

2、undefined是Undefined型別的字面量

  • 前者undefined和10, "abc"一樣是一個常量
  • 後者Undefined和Number,Boolean一樣是一個數據型別
  • 需要注意的是typeof對沒有初始化和沒有宣告的變數都會返回undefined。
 var str1 = undefined;
 console.log(typeof str1 ); //結果是undefined
  
 var str2;
 console.log(typeof  str2); //結果是undefined

3、Null 型別是第二個只有一個值的資料型別,這個特殊的值是 null。

  • 從語義上看null表示的是一個空的物件。所以使用typeof檢查null會返回一個Object。
  • undefined值實際上是由null值衍生出來的,所以如果比較undefined和null是否相等,會返回true。