一. 数据类型
共7种数据类型

注意:
  • 没有Array这样的基本数据类型。Array可以看做是key为索引的Object
          
  • Object不是primitive的,其他6种类型是primitive的。primitive不能new来创建?
  • null和undefined是不同的类型
  • typeof:类型检查
         
          null不是object,但是因为JS引擎的bug所以会有如下判断:
         
         
          所以要判断一个变量是否是null类型,需要如下判断:
          
          
          typeof 用来做类型检查很有用:
         

判断数据类型:(toString比typeof更准确)
  • Object.prototype.toString.call(1)
"[object Number]"
   


2.undefined
  • undefined  会自动转换为boolean类型。表示false
                    
  • undefined在数字计算方面,表示NaN
    • NaN表示Not a number
  • 判断input是否有有输入
           

3.null 
  • the null value behaves as 0 in numeric contexts (undefined表示NaN)
            
  • and as false in boolean contexts




4. Integer型


NaN:
     


5. string
  • immutable的。就是不能直接直接修改字符串的每个下标成员
         
  • unicode(2个字节)存储。如果遇到超过2个字节的特殊字符(比如表情)则使用2个unicode来处理。


二. 类型转换:
  • 转换为bool类型 (!! 运算符强转为bool类型)
    •    如下情况能转换为false:(都是基本数据类型的特殊值)
      • null
      • undefined,
      • 0,
      • NaN,
      • ”"

    • []和{}为真

1.数据类型和类型转换

2019-02-16 21:54:43 0 61
这里是评论

相关推荐