返回

JavaScript 中的 New 揭秘:深入浅出串联核心知识点

前端

**JavaScript 中的 New **

new 关键字是 JavaScript 中的一个运算符,用于创建对象实例。它的语法是:

let object = new Constructor(arguments);

其中,Constructor 是一个构造函数,arguments 是传递给构造函数的参数。当 new 关键字被调用时,它会创建一个新的对象,并将其分配给 object 变量。

构造函数

构造函数是 JavaScript 中用于创建对象的一种函数。它的作用是初始化对象属性和方法。构造函数的名称必须与要创建的对象的名称相同,并且必须使用 new 关键字来调用。

例如,以下代码创建一个名为 Person 的构造函数:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

原型

每个构造函数都有一个原型对象,原型对象包含了该构造函数创建的所有对象的共有属性和方法。原型对象可以通过对象的 __proto__ 属性来访问。

例如,以下代码获取 Person 构造函数的原型对象:

let personPrototype = Person.prototype;

原型链

每个对象都有一个原型对象,而原型对象又可能有自己的原型对象,如此循环,直到遇到 null 为止。这种从对象到原型对象的链被称为原型链。

原型链的作用是允许对象访问其原型对象中的属性和方法。例如,如果 Person 构造函数的原型对象中有一个名为 sayHello 的方法,那么所有 Person 构造函数创建的对象都可以访问这个方法。

数据类型

JavaScript 中的数据类型分为两类:基本类型和引用类型。

基本类型包括:

  • 布尔类型(boolean)
  • 数字类型(number)
  • 字符串类型(string)
  • 空类型(null)
  • 未定义类型(undefined)
  • 符号类型(symbol)

引用类型包括:

  • 对象类型(object)
  • 数组类型(array)
  • 函数类型(function)

基本类型的值直接存储在变量中,而引用类型的值则存储在堆内存中,变量中存储的是指向堆内存的指针。

基础类型

JavaScript 中的基础类型包括:

  • 数字类型:数字类型的值可以是整数、小数或无穷大。
  • 字符串类型:字符串类型的值是文本。
  • 布尔类型:布尔类型的值只有 true 和 false。
  • null 类型:null 类型的值表示空值。
  • undefined 类型:undefined 类型的值表示未定义。
  • 符号类型:符号类型的值是唯一标识符。

Class

Class 是 JavaScript 中引入的一种新的语法,它可以用来定义类。类是 JavaScript 中的模板,它可以用来创建对象。

例如,以下代码定义了一个名为 Person 的类:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

总结

new 关键字是 JavaScript 中一个非常重要的概念,它用于创建对象实例,是 JavaScript 面向对象编程的基础。通过 new 我们可以深入理解构建函数、原型、原型链、数据类型、基础类型、Class 等核心知识点,从而全面掌握 JavaScript 的对象机制和面向对象编程范式。