zoukankan      html  css  js  c++  java
  • ES6 类

    class Task {
      constructor() {
        console.log("task instantiated!");
      }
    
      showId() {
        console.log(23);
      }
    
      static loadAll() {
        console.log("Loading all tasks..");
      }
    }
    
    console.log(typeof Task); // function
    let task = new Task(); // "task instantiated!"
    task.showId(); // 23
    Task.loadAll(); // "Loading all tasks.."
    class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                var pig=new Animal();
                pig.bark();
                Animal.eat();

    类中的继承和超集:

    class Car {
      constructor() {
        console.log("Creating a new car");
      }
    }
    
    class Porsche extends Car {
      constructor() {
        super();
        console.log("Creating Porsche");
      }
    }
    
    let c = new Porsche();
    // Creating a new car
    // Creating Porsche

    extends 允许一个子类继承父类,需要注意的是,子类的 constructor 函数中需要执行 super() 函数。

    当然,你也可以在子类方法中调用父类的方法,如 super.parentMethodName()。

    有几点值得注意的是:

    类的声明不会提升(hoisting),如果你要使用某个 Class,那你必须在使用之前定义它,否则会抛出一个 ReferenceError 的错误
    在类中定义函数不需要使用 function 关键词

    示例:

    <script type="text/javascript">
                class Animal{
                    constructor(){  //构造方法,可无
                        console.log("正在构造一只动物");
                    }
                    
                    bark(){
                        console.log("动物在叫...");
                    }
                    
                    static eat(){
                        console.log("动物在吃东西...");
                    }
                }
                
                class Dog extends Animal{
                    constructor(){ 
                        super();   //调用父类的构造方法
                        console.log("正在构造一只狗");
                    }
                    bark(){   //重写
                        console.log("汪汪汪...");
                    }
                }
                
                var dog=new Dog();
                dog.bark();
                Dog.eat();

  • 相关阅读:
    计算机组成原理实验总结
    Matlab图像匹配问题
    局域网实验
    信号量与共享存储区(操作系统实验三)
    路由器配置及IP设置及ping命令使用
    自我介绍是一门学问
    数据库管理系统的维护与管理
    高数讲课教后感
    node Unexpected token import(node 目前默认不支持es6 的模块 import解决方法有2)
    Cookie/Session机制详解
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10677464.html
Copyright © 2011-2022 走看看