欢迎光临
我们一直在努力

ES6 | 类的声明与创建

ES5中可以通过构造函数创建类,如下面的例子:

  • 通过构造函数创建类
  • 通过原型添加类方法
  • 通过new创建对象
  • 通过访问构造函数的原型修改方法
// 在ES5中创建类
let Person = function (country) {
  this.country = country
}

// 通过原型添加方法
Person.prototype.eat = function () {
  console.log('Eat apples')
}

// 创建对象
let chengLong = new Person('china')
let trump = new Person('USA')

// 查看和使用对象
console.log(chengLong)
console.log(trump)
chengLong.eat()
trump.eat()

// 通过访问构造函数的原型修改方法
// 会发现当原型上的方法被修改后,所有方法都会被修改
chengLong.constructor.prototype.eat = function () {
  console.log('Eat banana')
}
chengLong.eat()
trump.eat()

在ES6中不用如此麻烦,可以直接通过class创建类

class Person {
  constructor (country) {
    this.country = console
  }
  eat () {
    console.log('Eat Apples')
  }
}
let chengLong = new Person('china')
let trump = new Person('USA')

console.log(chengLong)
console.log(trump)
chengLong.eat()
trump.eat()

在ES6中使用class和在es5中使用构造函数创建类效果实际上是一样的,但不同的是构造函数创建的对象的constructor为 f (参数)

class创建的对象的constructor为:class 构造函数名称

赞(0) 打赏
未经允许不得转载:散人研 » ES6 | 类的声明与创建
分享到: 更多 (0)

评论 抢沙发

1 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏