返回

直接量和对象在JavaScript中的奥妙

前端

直接量

直接量是指不需要创建对象就可以直接使用的变量。ES中的直接量主要有三种类型:表示字符串的string类型、表示数字的number类型和表示true/false的boolean类型。当我们直接将值赋给变量时,就创建了一个直接量。例如:

let name = "John Doe";
let age = 30;
let isMarried = true;

对象

对象是一种可以存储多个键值对的数据结构。每个键值对由一个键和一个值组成,键是字符串,值可以是任何类型的数据。对象通常用于存储复杂的数据,例如用户信息、产品信息等。我们可以使用大括号{}来创建对象,例如:

let person = {
  name: "John Doe",
  age: 30,
  isMarried: true
};

直接量和对象的区别

直接量和对象的主要区别在于,直接量是不可变的,而对象是可变的。这意味着,一旦创建了直接量,就不能再更改其值。而对象的值是可以随时更改的。例如:

// 直接量
let name = "John Doe";

// 对象
let person = {
  name: "John Doe",
  age: 30,
  isMarried: true
};

// 更改对象的值
person.age = 31;

// 尝试更改直接量的值
name = "Jane Doe"; // 报错:TypeError: Assignment to constant variable.

直接量和对象的比较

直接量和对象可以使用比较运算符进行比较。比较运算符包括:

  • 等于(==)
  • 严格等于(===)
  • 不等于(!=)
  • 严格不等于(!==)

当比较直接量时,比较运算符会比较直接量本身的值。例如:

let name1 = "John Doe";
let name2 = "John Doe";

console.log(name1 == name2); // true
console.log(name1 === name2); // true

当比较对象时,比较运算符会比较对象的引用。例如:

let person1 = {
  name: "John Doe",
  age: 30,
  isMarried: true
};

let person2 = {
  name: "John Doe",
  age: 30,
  isMarried: true
};

console.log(person1 == person2); // false
console.log(person1 === person2); // false

结论

直接量和对象是JavaScript中两种基本的数据类型。直接量是不可变的,而对象是可变的。直接量和对象可以使用比较运算符进行比较,比较运算符会比较直接量本身的值或对象的引用。在实际的编程中,我们经常会使用到直接量和对象,因此了解它们的类型、操作和比较方式是非常重要的。