当前位置: 代码网 > 科技>人工智能>数据分析 > ES6 class 类

ES6 class 类

2024年08月03日 数据分析 我要评论
【代码】ES6 class 类。

普通使用原型添加方法

function animal(name) {
  this.name = name;
}

animal.prototype.speak = function() {
  console.log(this.name + ' makes a noise.');
};

function dog(name) {
  animal.call(this, name);
}

dog.prototype = object.create(animal.prototype);
dog.prototype.constructor = dog;

dog.prototype.speak = function() {
  console.log(this.name + ' barks.');
};

const dog = new dog('rex');
dog.speak(); // 输出:rex barks.

使用class添加方法

class animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    console.log(this.name + ' makes a noise.');
  }
}

class dog extends animal {
  speak() {
    console.log(this.name + ' barks.');
  }
}

const dog = new dog('rex');
dog.speak(); // 输出:rex barks.

对比下来,不难发现class类添加方法代码更加易懂,易读,也有好的继承特性,后续更加容易维护;

注意事项:

  1. 类并不会被提升;(意味着在代码执行之前,类声明不会被移动到作用域的顶部。这与传统的函数声明和变量声明不同,它们可以在作用域内被提升。因此,在使用类之前必须先声明类,否则会导致引用错误。)
  2. class 是一等公民(first-class);意味着它们可以像其他值一样被传递和使用。你可以将类赋值给变量,将类作为函数参数传递,从函数中返回类,以及在运行时动态地创建类。这使得类在 javascript 中更具灵活性,可以更方便地进行模块化和编程。
  3. 类必须在严格模式下运行,类和里面模块默认必须使用严格模式书写
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com