zoukankan      html  css  js  c++  java
  • es6-13 类与对象

    基本语法

    {
        // 基本定义和生成实例
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
    
        // 生成实例
        let parent = new Parent('Helzeo')
        console.log(parent) // {name: "Helzeo"}
    }

    类的继承

    {
        // 基本定义和生成实例
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
    
        // 生成实例
        let parent = new Parent('Helzeo')
        console.log(parent) // {name: "Helzeo"}
    
        // 类的继承
        class Child extends Parent {
            constructor (name = 'child name') {
                super(name) // 子类覆盖父类 super 必须要放在第一行
                // 子类定义自身属性和方法一定要在 super 之后
                this.type = 'child'
            }
        }
        let child = new Child('chile param')
        console.log(child)
    }

    getter 和 setter

    {
        // getter 和 setter
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
    
            get longName() { // 注意这里是属性, 不是方法
                return this.name + 'Lee'
            }
    
            set longName(value) { // 注意这里是属性, 不是方法
                this.name = value
            }
        }
    
        let parent = new Parent()
        console.log('getter', parent.longName) // LiMingLee
        parent.longName = 'Helzeo'
        console.log('setter', parent.longName) // HelzeoLee
    }

    静态方法 static

    {
        // 静态方法 关键字 static
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
    
            // 静态方法, 通过类来调用, 而不是实例来调用
            static tell() {
                console.log('tell')
            }
        }
        Parent.tell()
    }

    静态属性

    {
        // 静态方法 关键字 static
        class Parent {
            // 定义构造函数
            constructor (name = 'LiMing') {
                this.name = name
            }
        }
        // 定义静态属性没有关键字, 直接在类上赋值即可
         Parent.type = 'test'
         console.log('静态属性', Parent.type)
    }
  • 相关阅读:
    VS Code 快捷键(中英文对照版)
    一些网络资源
    VS Code插件
    Angular for TypeScript 语法快速指南 (基于2.0.0版本)
    Angular2 中的依赖包详解
    《ECMAScript 6 入门》阮一峰
    《JavaScript 标准参考教程》阮一峰
    Angular内提供了一个可以快速建立测试用web服务的方法:内存 (in-memory) 服务器
    由angular命令行工具(angular-cli)生成的目录和文件
    Angular 4.x 修仙之路
  • 原文地址:https://www.cnblogs.com/helzeo/p/11822776.html
Copyright © 2011-2022 走看看