JavaScript基础:理解原始类型和对象

发表时间: 2024-02-02 20:49

在JavaScript的世界里,数据类型可以分为原始类型(Primitive Types)和对象(Objects)。原始类型是最基本的数据类型,它们不是对象,也没有方法。本文将深入探讨JavaScript中的原始类型和对象类型,并通过一些例子加深理解。

原始类型

JavaScript的原始类型包括:undefined、null、boolean、number、string、symbol(ES6新增)和 bigint(ES2020新增)。下面我们将逐一介绍这些类型,并提供示例。

Undefined

undefined 类型只有一个值,即 undefined。当一个变量被声明但没有被赋值时,它的值就是 undefined。

let notAssigned;console.log(notAssigned); // 输出:undefined

Null

null 类型也只有一个值:null。它通常用于表示一个变量不指向任何对象。

let noObject = null;console.log(noObject); // 输出:null

Boolean

boolean 类型有两个值:true 和 false。它们通常用于条件判断。

let isTrue = true;let isFalse = false;console.log(isTrue); // 输出:trueconsole.log(isFalse); // 输出:false

Number

number 类型是双精度64位浮点数,用于表示整数或浮点数。

let integer = 10;let float = 10.5;console.log(integer); // 输出:10console.log(float); // 输出:10.5

String

string 类型用于表示文本数据。它可以是一串字符,也可以是空字符串。

let greeting = "Hello, world!";let empty = "";console.log(greeting); // 输出:"Hello, world!"console.log(empty); // 输出:""

Symbol

symbol(符号)是ES6中新增的原始数据类型,主要用于创建匿名的、唯一的属性名。

let symbol1 = Symbol('a');let symbol2 = Symbol('a');console.log(symbol1 === symbol2); // 输出:false

BigInt

bigint 是ES2020引入的一种数据类型,它可以表示任意精度的整数。

let bigInt = 1234567890123456789012345678901234567890n;console.log(bigInt); // 输出:1234567890123456789012345678901234567890n

对象

在JavaScript中,对象可以被视为一个容器,它可以存储多个值(包括原始类型和其他对象)。对象的属性可以是任意类型的值。对象类型包括 Object、Array、Function 和所有的构造函数创建的实例,例如 Date、RegExp 等。

Object

Object 是JavaScript中所有对象的父类。对象可以包含多个键值对。

let person = {  name: "John",  age: 30};console.log(person.name); // 输出:"John"console.log(person.age); // 输出:30

Array

Array 是用于表示有序集合的对象。

let fruits = ["apple", "banana", "cherry"];console.log(fruits[0]); // 输出:"apple"

Function

函数也是对象的一种,它可以被调用。

function greet(name) {  return "Hello, " + name + "!";}console.log(greet("Alice")); // 输出:"Hello, Alice!"

原始类型与对象的区别

原始类型与对象的主要区别在于原始类型的值是不可变的,而对象的值是可以变的。另外,原始类型存储的是值本身,而对象存储的是对值的引用。

let num = 10;let anotherNum = num;num = 20;console.log(anotherNum); // 输出:10let obj = { value: 10 };let anotherObj = obj;obj.value = 20;console.log(anotherObj.value); // 输出:20

结语

理解原始类型和对象类型是掌握JavaScript的基础。通过本文的介绍和例子,希望能够帮助你更好地理解这两种类型的特点和用法。