25.class介绍

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /**
       *    ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上ES6的class可以看做只是一个语
       * 法糖,它的绝大部分功能,ES5都可以实现,新的class写法只是让对象原型的写法更加清晰,更像面向对象编程的语法而已
       *    1.class声明类
       *    2.construcuor定义构造函数初始化
       *    3.extends继承父类
       *    4.super方法调用父级构造方法
       *    5.static定义静态方法和属性
       *    6.父类方法可以重写
       */

      // function Phone(brand, price) {
      //   this.brand = brand;
      //   this.price = price;
      // }

      // // 添加方法
      // Phone.prototype.call = function () {
      //   console.log("打电话");
      // };

      // // 实例化对象
      // let iPhone = new Phone("苹果", "12999");
      // iPhone.call();

      // console.log(iPhone);

      // class创建
      class Apple {
        // constructor关键字(构造方法),不能修改,
        constructor(brand, price) {
          this.brand = brand;
          this.price = price;
        }

        // 添加方法,必须用简写
        call() {
          console.log("打电话");
        }
      }

      let iPhone13 = new Apple("苹果13", "13999");
      console.log(iPhone13);
    </script>
  </body>
</html>
posted @ 2022-01-02 16:20  问某完红  阅读(57)  评论(0)    收藏  举报