JavaScript 中的数据类型

概述

JavaScript 中的数据类型主要分为两类:原始类型和引用类型。

原始类型

原始类型包括简单的数据值,它们是不可变的(自行了解),也就是说一旦创建后就不能改变其值。原始类型有以下几种:

  • Number
  • String
  • Boolean
  • Undefined
  • Null
  • Symbol
  • BigInt

Number

Number 类型用于表示整数和浮点数,JavaScript 不区分整数和浮点数。

const num1 = 10;
const num2 = 5.5;

String

String 类型用于表示文本数据。字符串可以用单引号、双引号或反引号定义。(推荐用单引号) 

const str = 'Hello, World!';

Boolean

Boolean 类型只有两个值:true 和 false。 

const flag = true;

Undefined

Undefined 类型表示一个未定义的值。通常,如果一个变量被声明但没有赋值,则它的值为 undefined。 

const value;
console.log(value); // undefined

Null

Null 类型表示一个空对象指针。通常用来表示“无”或“不存在”的值。

const nothing = null;

Symbol

Symbol 类型是 ES6 新引入的一种原始类型,用于创建独一无二的标识符。 

const s1 = Symbol('foo');
const s2 = Symbol('foo');
console.log(s1 === s2); // false

BigInt

BigInt 类型用于表示任意大小的整数。在数值后面加上 n 来标记 BigInt 类型。 

const bigNum = 1234567890123456789012345678901234567890n;

引用类型 

引用类型是通过引用访问的对象。这些对象在内存中占据一块区域,当我们创建一个引用类型的值时,我们实际上是创建了一个指向该内存位置的引用。

  • Object
  • Array
  • Function
  • Date
  • RegExp

Object

Object 类型是最基本的引用类型,它是所有其他引用类型的基类。

const obj = { name: 'Alice', age: 30 };

Array

Array 类型是一种特殊的对象类型,用于存储有序的值列表。 

const arr = [1, 2, 3];

Function

Function 类型用于定义函数,函数也是对象。 

function greet(name) {
    console.log('Hello, ' + name);
}

Date

Date 类型用于处理日期和时间。

const now = new Date();

RegExp

RegExp 类型用于创建正则表达式对象。

const regex = /\d+/g;

类型检测

可以使用 typeof 运算符来检测一个值的类型。 

console.log(typeof 42); // "number"
console.log(typeof "hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (注意:`null` 的 `typeof` 结果为 "object")
console.log(typeof Symbol("foo")); // "symbol"
console.log(typeof 123n); // "bigint"

对于更具体的类型检测,可以使用 instanceof 关键字或直接比较 constructor 属性。

const obj = {};
console.log(obj instanceof Object); // true
console.log(Array.isArray([])); // true

 

 

 

 

 

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值