日期:2022年10月3日

原始值

数据类型,指那些可以赋值给变量的值,JS中的数据类型由原始值和对象共同组成。对象我们会稍微晚点介绍,先来介绍原始值。

JavaScript中一共有七种原始值:

  1. 数值(Number)
  2. 大整数(BigInt)
  3. 字符串(String)
  4. 布尔值(Boolean)
  5. 空值(Null)
  6. 未定义(Undefined)
  7. 符号(Symbol)

数值和大整数

数值就是数字,在JavaScript中数字有两种普通的数值和大整数。

数值

在JavaScript中整数和小数都是数值类型,数值并不是无限大的,当超过一定范围后数值会自动显示近似值,再超过范围会以科学计数法的形式显示,再超过范围会显示为Infinity。基于此原因再加上浮点数计算的不精确问题,所以尽量不要直接使用数值做一些精度要求较高的运算,使用typeof运算符检查一个数值时会返回"number"

let a = 10
let b = 2.5
let c = 9999999999999991 // 9999999999999992
let d = 999999999999999999999 // 1e+21
let e = 999 ** 999 // Infinity
let f = 1.9999999999999999 // 2
let g = 0.0000005 // 5e-7

除了常规的数字外,在数值中还存在两个特殊值NaNInfinity

NaN —— 错误的数值

Infinity —— 无穷

其他进制数字的表示方法:

let a = 0b1010 // 二进制
let b = 0o77 // 八进制
let c = 0xff // 十六进制

大整数

大整数,顾名思义用来表示一些比较大的整数,注意只是整数。大整数使用n结尾,大整数可以是无限大的(还要看你的内存大写),且大整数只能和大整数计算,和数值计算会报错。使用typeof检查一个大整数时会返回"bigint"

let a = 9999999999999999999999n

字符串

JavaScript中字符串需要使用引号引起来,单引号和双引号都是可以的,没有本质区别。使用typeof运算符检查一个字符串时会返回"string"

let a = "今天天气真不错"
let b = '昨天天气也挺好'

转义字符

JavaScript中使用/作为转义字符,转义字符用以表示一些特殊的符号,比如:

转义字符字符串
/’
/”
\\\
\n换行
\t制表符
\uxxxxUnicode编码

模板字符串

模板字符串可以用来表示一些比较长的字符串(跨行),且可以直接向字符串中嵌入变量,使用`表示模板字符串,在模板字符串中使用${变量}来嵌入变量:

let str = `锄禾日当午
汗滴禾下土
谁知盘中餐
粒粒皆辛苦
`
let name = "孙悟空"
let str = `大家好,我是${name}`

布尔值

布尔值用来进行逻辑判断,只有两个truefalse。使用typeof检查时会返回"boolean"

true —— 真

false —— 假

let a = true
let b = false

空值

空值表示空、不存在,只有一个值null。使用typeof检查时会返回"object"

let a = null

未定义

未定义,作用和空值类似,同样只有一个值undefined。我们一般不会主动使用undefined。使用typeof检查时会返回"undefined"

let a // 此时a的值就是undefined

符号

符号比较特殊,用以表示一个唯一标识,在一些特殊场景下回使用,现在简单了解一下即可。使用typeof检查一个符号时会返回"symbol"

let a = Symbol()

原始值都是不可变的

上边所有的原始值都是不可变的类型,值一旦创建就无法修改!

5 2 投票数
文章评分
订阅评论
提醒
guest

7 评论
最旧
最新 最多投票
内联反馈
查看所有评论
徐爱民
徐爱民
3 月 前

哇,超哥,我这才一天没刷新就又出来这么多,太肝了

李嘉慧
李嘉慧
3 月 前

超哥我看完你HTML的视频了,方便留个社交账号吗,我想买你的课

goZuzu
goZuzu
2 月 前
回复给  李立超

超哥 我也想加你!

江应怜
江应怜
3 天 前

我才看到有笔记!!!太感动了超哥

7
0
希望看到您的想法,请您发表评论x