js中的数据类型

95 阅读1分钟

基本数据类型

  • number:整数、浮点数、NaN、Infinity
  • string
  • boolean
  • null
  • undefined

引用数据类型

  • object: {} [] /^$/ Date Math 实例对象...
  • function

ES6中新增

  • Symbol 唯一值

isNaN的使用

isNaN底层使用Number()来做的隐式转换,也就是说用Number()做转换,如果结果是NaN,则isNaN就是true,否则是false.

  • isNaN(0) false
  • isNaN('A') true
  • isNaN('10') false
  • isNaN('12px') true
  • isNaN(null) false
  • isNaN(undefined) true
  • isNaN('') false

object

object的key可以是任何基本类型,不能是引用类型值,默认会把引用类型转换成字符串来作为key.即object转换成"[object Object]",function转换成function字符串

     let a = {x:100};
     let b = {y:200};
     let obj = {};
     obj[a] = 'xxx';
     obj[b] = 'yyy';
     console.log(obj);
     console.log(obj[a] === obj[b])//true

上边的结果为: {[object Object]: "yyy"}

    let obj = {
        0: 1,
        true: 2
    };
    console.log(obj[0]);//1
    console.log(obj['0']);//1
    console.log(obj[true]);//2
    console.log(obj['true']);//2

array

array是特殊的对象

    let arr = [1,2,3];
    arr[5] = 6;
    console.log(arr.toString());//"1,2,3,,,6"
    console.log(arr.join('|'));//"1|2|3|||6"