JavaScript ES6类的主要功能

标题JavaScript ES6类的主要功能

JavaScript ES6(ECMAScript 6)引入了类(Class)的概念,这是对JavaScript面向对象编程模型的一种更清晰、更简洁的语法糖。虽然在ES6之前,我们可以通过构造函数和原型链实现类似类的行为,但ES6中的类语法更加接近传统面向对象语言如Java或C#。

1.类声明:使用class关键字来定义一个类

复制代码
class Person {
  // ...
}

2.构造函数:类中定义的特殊方法constructor用于创建并初始化新实例

复制代码
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

3.实例属性和方法:在类内部可以定义实例属性和方法,这些将被所有类的实例共享

复制代码
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  sayHello() {
    console.log(`Hi, I am ${this.name} and I am ${this.age} years old.`);
  }
}

4.静态属性和方法:使用static关键字定义的属性和方法属于类本身,而不是其任何实例。

复制代码
class Person {
  static species = "Human";
  static getSpecies() {
    return this.species;
  }
}
console.log(Person.getSpecies()); // 输出 "Human"

5.继承:通过extends关键字实现类之间的继承关系,并且子类可以使用super关键字调用父类的构造函数或其他方法

复制代码
class Employee extends Person {
  constructor(name, age, position) {
    super(name, age);
    this.position = position;
  }

  introduceYourself() {
    super.sayHello();
    console.log(`I work as a ${this.position}.`);
  }
}

6.getter 和 setter:类中可以定义访问器属性(getter/setter),用来控制对对象属性的读取和赋值操作

复制代码
class Person {
  constructor(name, age) {
    this._age = age;
  }

  get age() {
    return this._age;
  }

  set age(value) {
    if (value >= 0) {
      this._age = value;
    } else {
      console.error("Age cannot be negative.");
    }
  }
}
相关推荐
An_s27 分钟前
rust开发wasm与浏览器(js)交互
javascript·rust·wasm
山河木马44 分钟前
GPU自动处理专题4-填充覆盖区域(光栅化)
javascript·webgl·计算机图形学
从零开始的代码生活_1 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端
悦儿遥遥雨11 小时前
PXE + Kickstart 无人值守批量部署系统
linux·javascript·nginx
wabs6661 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
AOwhisky1 小时前
Python 学习笔记(第三期)——流程控制核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发·流程控制
清秋2 小时前
全网最全 ECMAScript 攻略( 更新至 ES2026)
前端·javascript·编程语言
Hilaku2 小时前
为什么 AI 写前端时,总是优先选择 React,而不是 Vue?
前端·javascript·程序员
逆向编程2 小时前
Socket异常连接自动清理方案
开发语言
va学弟3 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言