js--資料型別

mwh_user發表於2020-10-15

資料型別

  • 是指我們儲存在記憶體中的資料的型別
  • 我們通常分為兩大類 基本資料型別引用資料型別

基本資料型別

  1. 數值型別(number)

    • 一切數字都是數值型別(包括二進位制,十進位制,十六進位制等)
    • NaN(not a number),一個非數字
  2. 字串型別(string)

    • 被引號包裹的所有內容(可以是單引號也可以是雙引號)
  3. 布林型別(boolean)

    • 只有兩個(true 或者 false)
  4. null型別(null)

    • 只有一個,就是 null,表示空的意思
  5. undefined型別(undefined)

    • 只有一個,就是 undefined,表示沒有值的意思
  6. Symbol(es6新增)

引用資料型別

除了基本資料型別,剩下的都是引用資料型別,比如:Object 、Array 、Function 、Data等。

判斷資料型別

typeof

  • 既然已經把資料分開了型別,那麼我們就要知道我們儲存的資料是一個什麼型別的資料
  • 使用typeof關鍵字來進行判斷
// 第一種使用方式
var n1 = 100;
console.log(typeof n1);

// 第二種使用方式
var s1 = 'abcdefg';
console.log(typeof(s1));

  var aa = 0
  var bb = 'as'
  var cc = null
  var dd = true
  var ee 

  console.log(typeof aa)  // number
  console.log(typeof bb)  // string
  console.log(typeof cc)  // object
  console.log(typeof dd)  // boolean
  console.log(typeof ee)  // undefined

注意:typeof通常用來判斷基本資料型別, 而且null型別通過typeof判斷的結果是object

instanceof(用來判斷引用資料型別)

    var a = []
    var b = {}
    function c() {}
    console.log(a instanceof Array)// true
    console.log(b instanceof Object)// true
    console.log(c instanceof Function)// true

判斷一個變數是不是數字

  • 可以使用 isNaN 這個方法來判斷一個變數是不是數字
  • isNaN :is not a number
// 如果變數是一個數字
var n1 = 100;
console.log(isNaN(n1)); //=> false

// 如果變數不是一個數字
var s1 = 'Jack'
console.log(isNaN(s1)); //=> true

資料型別轉換

  • 資料型別之間的轉換,比如數字轉成字串,字串轉成布林,布林轉成數字等

其他資料型別轉成數值

  1. Number(變數)
    • 可以把一個變數強制轉換成數值型別
    • 可以轉換小數,會保留小數
    • 可以轉換布林值
    • 遇到不可轉換的都會返回 NaN
  2. parseInt(變數)
    • 從第一位開始檢查,是數字就轉換,知道一個不是數字的內容
    • 開頭就不是數字,那麼直接返回 NaN
    • 不認識小數點,只能保留整數
  3. parseFloat(變數)
    • 從第一位開始檢查,是數字就轉換,知道一個不是數字的內容
    • 開頭就不是數字,那麼直接返回 NaN
    • 認識一次小數點
  4. 除了加法以外的數學運算
    • 運算子兩邊都是可運算數字才行
    • 如果運算子任何一遍不是一個可運算數字,那麼就會返回 NaN
    • 加法不可以用

其他資料型別轉成字串

  1. 變數.toString()
    • 有一些資料型別不能使用 toString() 方法,比如 undefined 和 null
  2. String(變數)
    • 所有資料型別都可以
  3. 使用加法運算
    • 在 JS 裡面,+ 由兩個含義
    • 字串拼接: 只要 + 任意一邊是字串,就會進行字串拼接
    • 加法運算:只有 + 兩邊都是數字的時候,才會進行數學運算

其他資料型別轉成布林

  1. Boolean(變數)
    • 在 js 中,只有 ‘’、0、null、undefined、NaN,這些是 false,其餘都是 true

相關文章