JS 中的构造函数和类

65 阅读1分钟

在 JavaScript 中,用 new 关键字来调用的函数,称为构造函数。 构造函数首字母一般大写。

我学会了 JS 的构造函数的基本写法,代码如下:

function Person(name = '匿名', age = 0) {
  this.name = name
  this.age = age
}
Person.prototype = {
  constructor: Person,
  sayHi() {
    console.log(`你好,我是 ${this.name}`)
  },
  run() {
    console.log(`${this.name} 在跑步`)
  }
}
const f1 = new Person('guo', 22)
f1.sayHi()
f1.run()

用 new 的好处

  • new 帮你创建一个新对象
  • new 帮你准备 Person.共有属性(不要问属性名)
  • new 帮你关联隐藏属性与共有属性
  • new 帮你 return 新对象

小知识

  • 箭头函数不能当构造函数,因为它不支持 this、不自带 prototype

除了上面这种构造函数写法,我还学会了 class 写法,代码如下:

class Person {
  constructor(name = '匿名', age = 0) {
    this.name = name
    this.age = age
  }
  sayHi() {
    console.log(`你好,我是 ${this.name}`)
  }
  run() {
    console.log(`${this.name} 在跑步`)
  }
}