JavaScript中的类是ES6语法糖,基于原型机制提供更清晰的面向对象编程方式。1. 使用class定义类,包含constructor初始化属性和实例方法;2. 通过extends实现继承,子类需调用super()初始化父类;3. 子类可重写父类方法并用super调用原方法;4. static定义静态方法,属类本身不可被实例调用。该语法提升代码可读性与结构清晰度。

JavaScript 中的类(Class)是 ES6 引入的一种语法糖,让开发者可以用更接近传统面向对象语言的方式来创建对象和实现继承。虽然 JavaScript 基于原型(prototype)的机制没有改变,但 class 的写法更加清晰、易读。
使用 class 关键字可以定义一个类。类中通常包含一个 constructor 方法,用于初始化实例属性,还可以定义其他方法。
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  greet() {
    console.log(`Hello, I'm ${this.name}`);
  }
}
const person1 = new Person("Alice", 25);
person1.greet(); // 输出: Hello, I'm Alice
上面的例子中,Person 是一个类,通过 new 创建实例。constructor 构造函数在实例化时自动调用。
ES6 提供了 extends 关键字来实现类的继承,子类可以继承父类的属性和方法。
立即学习“Java免费学习笔记(深入)”;
class Student extends Person {
  constructor(name, age, grade) {
    super(name, age); // 调用父类构造函数
    this.grade = grade;
  }
  study() {
    console.log(`${this.name} is studying.`);
  }
}
const student1 = new Student("Bob", 20, "A");
student1.greet(); // 继承自 Person:Hello, I'm Bob
student1.study(); // Student 自有方法:Bob is studying.
子类必须在 constructor 中调用 super(),否则无法使用 this。super 指向父类的构造函数或原型方法。
子类可以重写父类的方法。如果想在重写的同时调用父类的方法,可以用 super.方法名()。
class Teacher extends Person {
  constructor(name, age, subject) {
    super(name, age);
    this.subject = subject;
  }
  greet() {
    super.greet(); // 调用父类的 greet
    console.log(`I teach ${this.subject}.`);
  }
}
const teacher1 = new Teacher("Charlie", 35, "Math");
teacher1.greet();
// 输出:
// Hello, I'm Charlie
// I teach Math.
使用 static 关键字定义静态方法,属于类本身,不能通过实例调用。
class MathUtils {
  static add(a, b) {
    return a + b;
  }
}
console.log(MathUtils.add(2, 3)); // 5
// const utils = new MathUtils();
// utils.add(2, 3); // 错误:add 不是实例方法
基本上就这些。class 让 JavaScript 的面向对象编程更直观,但底层依然是原型链。掌握 class 和 extends,能让你写出结构更清晰、易于维护的代码。
以上就是JavaScript中的类(Class)与继承_javascript ES6的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号