跳至主要內容

数据类型

wzCoding大约 4 分钟JavaScript数据类型

数据类型

在 JavaScript 中,共有 8 种数据类型,其中 7 种基本类型,1 种引用类型,它们分别是:

  • 基本类型
    • null:空值,表示不存在
    • undefined:未定义,表示未定义变量的初始值
    • Boolean:布尔值,有 2 个值(truefalse
    • String:字符串,表示文本值的字符序列
    • Number:数字,表示整数或浮点数
    • BigInt:非常大的整数,可以表示任意大的整数
    • Symbol:实例唯一且不能改变
  • 引用类型
    • Object:对象

null

在 JavaScript 中,null 是一个原始值,表示没有任何对象值。它是 JavaScript 的假值之一,意味着在布尔上下文中被视为假。例如,下面的代码将输出 “null is falsy”

if (!null) { // true
  console.log("null is falsy")
}
// null is falsy

undefined

在 JavaScript 中,undefined 是一个原始值,表示一个声明未定义的变量的初始值,或没有实际参数的形式参数。当声明一个变量但未对其进行初始化时,该变量的值为 undefined。同时在 JavaScript 中 undefined 也是假值之一,意味着在布尔上下文中被视为假,例如:

let x
console.log(x) //  "undefined"

if(!x){  // true
    x = 2
    console.log( x + 2 )
}
// 4

Boolean

在 JavaScript 中,Boolean 表示逻辑值真或假,其取值仅能为 truefalse,通常与 if 条件语句一起使用,例如:

let x = true
if (x) {
  console.log("x is true")
  // x is true
} else {
  console.log("x is false")
}

也可以使用 Boolean 函数将其他类型的值转换为布尔值,例如:

let x = 5
let y = new Boolean(x)
console.log(y)  // true

let m
let n = new Boolean(m)
console.log(n)  // false

String

在 JavaScript 中,String 表示文本的字符序列(字符串)。字符串由零个或多个字符组成,可以使用单引号('')、双引号("")或反引号(``)定义。例如:

let x = 'Hello, world!'
let y = "Hello, world!"
let z = `Hello, world!`

String 还具有许多内置方法,可以用来操作文本数据。例如,可以使用 length 属性获取字符串的长度,或使用 toUpperCase() 方法将字符串转换为大写形式:

let x = 'Hello, world!'
console.log(x.length)  //  13
console.log(x.toUpperCase()) // "HELLO, WORLD!"
ℹ️提示

更多关于 String 的信息请 点击这里

Number

在 JavaScript 中,Number 是一种定义为 64 位双精度浮点型的数字数据类型,表示数值。可以使用字面量语法定义数字,例如:

let x = 5
let y = 3.14

JavaScript 中的所有数字都是双精度浮点数,这意味着它们具有固定的精度和范围。由于这种表示方法的限制,JavaScript 中的数字运算可能会产生舍入误差,例如:

let x = 0.1, y = 0.2
console.log( x + y )  //  0.30000000000000004

除了常规数字之外,Number 类型还有几个特殊值,包括 Infinity-InfinityNaN(非数字)。可以使用 isFinite()isNaN() 函数检查一个值是否为有限数或非数字,例如:

let m = 10 ** 1000
console.log(m)  // Infinity

let x = 5 / 'x'
console.log(x)  // NaN

let y = 1 / 3
console.log(isFinite(y))  //  true

let z = '0.5x'
console.log(isNaN(z))  // true
ℹ️提示

更多关于 Number 的信息请 点击这里

BigInt

在 JavaScript 中,BigInt 表示任意精度的整数,与 Number 类型不同,BigInt 可以表示大于 Number.MAX_SAFE_INTEGER(2^53 - 1)或小于 Number.MIN_SAFE_INTEGER(-(2^53 - 1))的整数

可以使用 BigInt() 函数或在整数字面量后添加 n 来创建 BigInt 类型的数值。例如:

let x = BigInt(123)
let y = 456n

typeof y  // bigint

BigInt 在某些方面类似于 Number ,但是也有区别:BigInt 不能用于 Math 对象中的方法;不能和任何 Number 实例混合运算,两者必须转换成同一种类型。在两种类型来回转换时要注意,因为 BigInt 变量在转换成 Number 变量时可能会丢失精度

ℹ️提示

更多关于 BigInt 的信息请 点击这里

Symbol

在 JavaScript 中,Symbol 表示一个独一无二的值,表示唯一的标识符。可以使用 Symbol() 函数创建符号值。例如:

let x = Symbol()
let y = Symbol('description')

typeof y  //  symbol

由于 Symbol 值都是唯一的,即使它们具有相同的描述。这意味着可以使用符号值作为对象属性的键,以避免命名冲突。例如:

let x = Symbol('key')
let y = Symbol('key')
let obj = {}
obj[x] = 'value1'
obj[y] = 'value2'
console.log(obj[x]) //  "value1"
console.log(obj[y]) //  "value2"
ℹ️提示

更多关于 Symbol 的信息请 点击这里