JS 的数据类型

94 阅读3分钟

变量的命名规则(必须遵守,不遵守会报错)

  1. 由字母、数字、下划线、$符号组成,不能以数字开头
  2. 字母区分大小写
  3. 不能是关键字和保留字
    • 关键字指的是 js 中有特殊功能的词语,比如 var,for 等
    • 保留字指的是现在没有特殊功能,但是将来新语法中有可能作为关键字使用,比如 promise 等

变量的命名规范(建议遵守的,不遵守不会报错)

  • 变量名必须有意义
  • 遵守驼峰命名

JS 的数据类型

JS 中的值,无论是字面量还是变量,都有明确的类型

  1. 数据类型分类(以基本数据类型为主)

    • Number 数字类型
      • 不区分整数、浮点数、特殊值,都是 Number 类型
    • String 字符串类型
      • 所有字符串都是 String 类型
    • undefined undefined类型
      • undefined 本身就是一个数据,表示未定义,变量只声明不赋值的时候,值默认是 undefined
    • Boolean 布尔类型
      • Boolean 字面量:只有 true 和 false 两个字面量的值,必须是小写字母
      • 计算机内部存储:true 为 1,false 为 0
    • null null类型
      • null 本身就是一个数据
      • 从逻辑角度,null 值表示一个空对象指针
      • 如果定义的变量准备在将来用于保存对象,最好该变量初始化为 null
    • Object 对象类型
  2. 数据类型检测

    为什么要有数据类型检测

    • JS 语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部存储数据的变化,数据类型也会发生变化
    • 变量的数据类型,与内部存储数据有关
    • 将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错
  3. 使用 typeof的方法进行数据检测

    语法 typeof(数据)

数据类型转换

  1. 转为数字类型

    字符串---纯数字字符串转换为对应的数字

    • 空字符串 and 空白字符串 --- 转换为 数字0
    • 非空非空白非纯数字字符串 --- 转换为 NaN
    • NaN 类型为 number 类型,但是无法使用常规数字表达

    boolean

    • true --- 转换为 1
    • false --- 转换为 0

    undefined

    转换为 NaN

    null

    转换为 0

    Number(变量/数据)

    var res1 = "10086"
    var res2 = Number(res1)
    console.log(typeof(res1))      // string
    console.log(typeof(res2))      // number
    

    parseInt(变量/数据)

    console.log(parseInt(true))     // NaN
    

    parseFloat(变量/数据)

    console.log(parseFloat(98))             // 98
    console.log(parseFloat(98.987654))      // 98.987654
    

    变量/数据 - 0

    console.log("10086" - 0)
    
  2. 转换为字符串类型

除了 undefined 和 null 之外都能转换为字符串类型

数据/变量.toString()

var num = 1
console.log(num,num.toString())

String(变量/数据)

console.log(String(false),false)

数据 + ""

console.log(undefined,undefined + "")
  1. 转换为boolean类型

转为 true

除了 0 和 NaN 之外的所有数字
非空字符串

转为 false

0 / NaN
undefined
null

Boolean(变量/数据)

console.log(Boolean(1))

!!变量/数据

console.log(!!1)