JS数据类型

107 阅读2分钟

数据为什么需要类型

数字与字符串

都是一,为什么要分 1 和 '1'

  • 功能不同
  1. 数字是数字,字符串是字符串,要严谨
  2. 数字能加减乘除,字符串不行
  3. 字符串能表示电话号码,数字不行
  • 存储形式不同
  1. JS 中,数字是用 64 位浮点数的形式存储的
  2. JS 中,字符串是用类似 UTF8 形式存储的(UCS-2)

JS 中七种的数据类型

数字 number、字符串 string、布尔 bool、符号 symbol、空 undefined、空 null、对象 object
总结:四基两空一对象

  • 注意:这些不是数据类型:数组、函数、日期(它们都属于 object )

数字 number

写法

整数写法 1
小数写法 0.1
科学计数法 1.23e4
八进制写法(用得少) 0123 或 00123 或 0o123
十六进制写法 0x3F 或 0X3F
二进制写法 0b11 或 0B11

特殊值

正0 和 负0
都等于 0,要严谨
无穷大
Infinity 、+Infinity 、-Infinity
无法表示的数字
NaN (Not a Number)
但它是一个数字

字符串 string

写法

单引号:'你好'
双引号:"你好"
反引号:你好
注意:引号不属于字符串的一部分,就像书名号不属于书名的一部分一样

转义

'it\'s ok'  // 这就是转义
"it's ok"
`it's ok`

用另一种写法表示你想要的东西:

\' 表示 '
\" 表示 "
\n 表示换行
\r 表示回车
\t 表示 tab 制表符
\\ 表示 \
\uFFFF 表示对应的 Unicode 字符
\xFF 表示前 256Unicode 字符

如果你想要在字符串里回车

let s = `这样是
可以的
用反引号很容易做到`

布尔 boolean(true或false)

下列运算符会得到 bool 值

否定运算
!value
相等运算
1 == 2、1 != 2、3 === 4、3 !== 4
比较运算
1 > 2、1 >= 2、3 < 4、3 <= 4

五个 falsy 值

falsy 就是相当于 false 但又不是 false 的值
分别是 undefined null 0 NaN ''

变量声明

三种声明方式

var a = 1 
let a = 1 
const a = 1
  • 区别: var 是过时的、不好用的方式
    let 是新的,更合理的方式
    const 是声明时必须赋值,且不能再改的方式
指定值

var a = 1

同时也指定了类型

var a = 1

但是值和类型都可以随意变化

a = 2
a = '字符串'