1、数值
数值(Number)
- 在JS中所有的整数和浮点数都是Number类型
- JS中的数值并不是无限大的,当数值超过一定范围后会显示近似值
- Infinity 是一个特殊的数值表示无 穷
- 所以在JS中进行一些精度比较高的运算时要十分注意
- NaN 也是一个特殊的数值,表示非法的数值
<script>
let a = 10
a = 10.5
a = 3.14
a = 9999999999999991111111111111111111
a = 99999 ** 99999
a = Infinity
a = 1.11111111111111111111111111111111111111111111
a = 0.0000000000000000000000000000000000001
a = 0.1 + 0.2
a = 1 - "a" // NaN (Not a Number)
a = NaN
</script>
大整数(BigInt)
- 大整数用来表示一些比较大的整数
- 大整数使用n结尾,它可以表示的数字范围是无限大
a = 99999999999999999999999999999999999999999999999999n
其他进制的数字:
二进制 0b
八进制 0o
十六进制 0x
<strcipt>
a = 0b1010
a = 0o10
a = 0xff
console.log(a)
</strcipt>
2、类型检查
typeof 运算符
- typeof用来检查不同的值的类型
- 它会根据不同的值返回不同的结果
<script>
let a = 10
let b = 10n
console.log(typeof a) // "number"
console.log(typeof b) // "bigint"
</script>
3、字符串
字符串(String)
- 在JS中使用单引号或双引号来表示字符串
- 转义字符 \
`
\" --> "
\' --> '
\ --> \
\t --> 制表符
\n --> 换行
`
- 模板字符串
- 使用反单引号` 来表示模板字符串
- 模板字符串中可以嵌入变量
- 使用typeof检查一个字符串时会返回 "string"
<script>
let a = "Hello"
a = "你好"
a = '这是一个"字\\\\符串'
a = "呵呵\t哈哈哈"
a = "呵呵\n哈哈哈"
a = "今天天气真不错!"
a = `今天天气挺好的!`
let name = "猪八戒"
let str = `你好,${name}`
let b = 10
// console.log(`b = ${b}`)
let c = "5"
c = "hhh"
c = `aaa`
console.log(typeof c)
</script>
4、其他的数据类型
布尔值(Boolean)
- 布尔值主要用来进行逻辑判断
- 布尔值只有两个true 和 false
- 使用typeof检查一个布尔值时会返回 "boolean"
空值 (Null)
- 空值用来表示空对象
- 空值只有一个 null
- 使用typeof检查一个空值时会返回"object"
- 使用typeof无法检查空值
未定义(Undefined)
- 当声明一个变量而没有赋值时,它的值就是Undefined
- Undefined类型的值只有一个就是 undefined
- 使用typeof检查一个Undefined类型的值时,会返回 "undefined"
符号(Symbol)
- 用来创建一个唯一的标识
- 使用typeof检查符号时会返回 "symbol"
JS中原始值一共有七种
1.Number
2.BigInt
3.String
4.Boolean
5.Null
6.Undefined
7.Symbol
七种原始值是构成各种数据的基石
原始值在JS中是不可变类型,一旦创建就不能修改
<script>
let bool = true // 真
bool = false // 假
let num = 1
let a = null
// console.log(typeof bool)
// console.log(typeof a)
// let b
console.log(typeof b)
let c = Symbol() // 调用Symbol()创建了一个符号
console.log(typeof c)
</script>