记录前端开发学习与积累

基本数据类型

本文于498天之前发表,文中内容可能已经过时。如有疑问,欢迎在github中给我留言(用户名:zhangyan123)。

基本数据类型常用技巧

  • 5种基本数据类型 Number、String、Boolean、null、undefined剩下的都是复杂类型
  • 原生9种内建构造函数:
    • 数据封装类对象:Number、String、Boolean、Object、Array
    • 工具类对象:Math、Date、RegExp
    • 错误类对象:error
  • 使用typeof操作符可以检测数据类型,new出来的任何种类的对象都呈现为[object object],尽量使用字面量创建方式以便检测类型
  • 3e+3=3000
  • 数字中有两个特例 NaN!==NaN Infinity+(-Infinity)===NaN 数字%0==Infinity
  • 字符串转为数字 parseInt(“10Shjksah”)===10 简便方式: +”10”
  • 数字转字符串 “”+123===“123”
  • 双重取反操作可以取到任何值对应的布尔值 eg:!!1===true
  • 6种falsy值:
    • “”
    • null
    • undefined
    • 0
    • NaN
    • false
      除以上falsy值之外的数据都是truthy值包括对象和falsy值字符串eg:”false”===true
  • 经常使用的惰性求值法:
    • ||用于检测对象是否存在若不存在赋予初始值eg: var a = b||{}||运算符可以用来填充默认值;
    • 尝试从undefined的成员属性中取值将会导致TypeError异常,这时可以通过&&运算符来避免错误,eg: flight.equipment&&flight.equipment.modela() && b() :如果执行a()后返回true,则执行b()并返回b的值,此用法与?:三元运算符经常用于简化运算步骤;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
      a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;
      && 优先级高于 ||
  • typeof null===object ;typeof undefined===undefined
  • 数组可以用于取字符串的某位字符’123’[1]===”2”,数组其实为key值从0开始递增的对象
  • for-in方法是为了遍历对象而设计,会遍历原型链,注意使用hasOwnProperty()
函数

  1. 1. 基本数据类型常用技巧