数据类型
JavaScript 中的值都具有特定的类型。
JavaScript 中有 8 种基本的数据类型(7中原始类型,1种引用类型)
JavaScript被称为“动态类型”的编程语言。可以将任何类型的值存入变量。定义的变量并不会在定义后,被限制为某一数据类型。
let message = "hello";
message = 123456;
原始类型
Number
number
类型代表整数和浮点数。可以进行数学运算。除了常规数值(1,2,3)。还包括NaN
,Infinity
,-Infinity
等特殊数值
Infinity
表示无穷大 。例如:
1/0 //Infinity
NaN
表示 一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果,任何对 NaN
的进一步操作都会返回 NaN
。例如:
BigInt
在js中 number
类型无法表示大于(2**53)-1
或小于-(2**53)-1
的整数。
BigInt
可以表示任意长度的整数。通过在整数字段后添加n
创建BigInt
值。
let a = 123456789987654321n
String
js中字符串必须包含在引号中,有三种表示方式。
1.单引号
2.双引号
3.反引号。 例如:
let str1 = 'string'
let str2 = "string"
let str3 = `string${1}`
单引号和双引号都是简单引号,两者没有什么差别。
反引号是功能扩展引号,它允许我们将变量的值和表达式计算结果的通过${}
嵌入到字符串中。
let name = 'lisi'
let str = `hello ${name}` // hello lisi
let str2 = `1+2= ${1+2}` // 1+2= 3
Boolean
boolean
仅包含两个值: true
和false
。
布尔值也可作为比较的结果
4 > 1 // true
4 > 5 // false
null
null
值不属于任何一种类型,它单独成一种类型,只包含null
值。
仅表示为"空","无"或"值未知"的特殊值。
let user = null
undefined
undefined
值同样不属于任何一种类型,它单独形成一种类型,只包含undefined
值。
undefined
表示未被赋值。
一个变量声明但未赋值,它的值就为undefined
let a;
console.log(a) // undefined
也可以显示的为变量赋值undefined
let a = undefined
console.log(a) // undefined
Symbol
symbol
用于创建唯一的标识符。它的值是唯一的。
let a = Symbol()
console.log(a) //Symbol()
引用类型
Object
object
是一个特殊的类型。相较于其他类型的值只能是单一的内容(字符串、数字或者其他),object
可以储存数据集合和更复杂的实体。例如:
let a = {
name:'123',
age:23
}
typeof
typeof
运算符返回参数的所属类型。
有两种用法:
-
typeof(value或表达式)
-
typeof value
返回的结果都以字符串展示。
typeof
。null 结果为object,实际上它并不是一个object(这是个历史遗留bug)。 例如:
typeof 1 //"number"
typeof 'ss' //"string"
typeof null //"object"
typeof {} //"object"
typeof true //"boolean"
typeof 1n //"bigint"
typeof undefined //"undefined"
typeof(2+2) //"number"
typeof(1>2) //"boolean"