js - 数据类型

126 阅读2分钟

数据类型

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 仅包含两个值: truefalse

布尔值也可作为比较的结果

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运算符返回参数的所属类型。

有两种用法:

  1. typeof(value或表达式)

  2. 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"