>  기사  >  웹 프론트엔드  >  ES6의 클래스 및 객체에 대한 코드 예제

ES6의 클래스 및 객체에 대한 코드 예제

不言
不言앞으로
2018-10-26 16:09:451925검색

이 글은 ES6의 클래스와 객체에 대한 코드 예제를 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 기본 정의 및 생성된 예제

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
    }
    let parent = new Parent('v');
    console.log('构造函数和实例', parent); // Parent {name: "v"}
}

2 상속

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
    }
    class Child extends Parent {

    }
    console.log('继承', new Child()); // Child {name: "haha"}
}
#🎜 🎜#

3. 상속된 전달 매개변수

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
    }
    class Child extends Parent {
        constructor(name = 'child') {
            // super()方法,用来解决 继承怎么传递参数(怎么覆盖父类的参数)
            // super的参数列表就是父类构造函数的参数列表,如果参数为空,就采用父类的参数默认值
            super(name); // super必须放在构造函数第一行
            this.type = 'child';
        }
    }
    console.log('继承传递参数', new Child('hello')); // Child {name: "hello", type: "child"}
}

4.getter setter

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
        // longName 是一个属性,不是方法
        get longName() {
            return 'lu-' + this.name;
        }
        // longName 是一个属性,不是方法
        set longName(value) {
            this.name = value;
        }
    }
    let person = new Parent();
    console.log('getter', person.longName); // lu-haha
    person.longName = 'hello';
    console.log('setter', person.longName); // lu-hello
}

5 .정적 메서드

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
        // static 关键字用来定义静态方法
        static tell() {
            console.log('do tell');
        }
    }
    // 静态方法,直接通过类去调用,不是通过实例
    Parent.tell(); // do tell
}

6. 정적 속성

{
    class Parent {
        constructor(name = 'haha') {
            this.name = name;
        }
    }
    // 直接在类上定义静态属性
    Parent.type = 'test';
    // 读取静态属性时,也是直接拿类读取
    console.log(Parent.type); // test
}


위 내용은 ES6의 클래스 및 객체에 대한 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제