美文网首页
es6-class类

es6-class类

作者: lvyweb | 来源:发表于2021-06-17 07:28 被阅读0次

1. 类的基本用法

es5造类

function Person(name,age){
    this.name = name;
    this.age = age;

}
Person.prototype.sayName = function(){
    return this.name;
}
let p1 = new Person('小玉米',16)
console.log(p1)//{"name":"小玉米","age":16}

es6造类

class Person{
    //实例化的时候会立即被调用
    constructor(name,age){
        this.name = name;
        this.age = age;
    }
    // sayName(){
    //     return this.name;
    // }
    // sayAge(){
    //     return this.age;
    // }
}
let p2 = new Person('小玉米',16);
console.log(p2);//Person {name: "小玉米", age: 16}

// 也可以通过Object.assign()方法,一次性向类中添加多个方法
Object.assign(Person.prototype,{
     sayName(){
        return this.name;
    },
    sayAge(){
        return this.age;
    }
})
let p3 = new Person('小玉米',16);
console.log(p3);

2. 类的继承

使用extends关键字

// 父类
class Animal{
    constructor(name,age){
        this.name = name;
        this.age = age;
    }
    sayName(){
        return this.name;
    }
    sayAge(){
        return this.age;
    }
}
// 子类
class Dog extends Animal{
    constructor(name,age,color){
        super(name,age);//超类的意思,会调用父类的constructor
        //super(name,age)相当于 Animal.call(this,name,age);
        this.color = color;
    }
    sayColor(){
        return `${this.name}`
    }
    //重写父类的方法
    sayName(){
        return this.name + super.sayAge() + this.color;
    }
}

let d1 = new Dog('小黄',28,'red');
console.log(d1.sayName());//小黄28red
console.log(d1.sayColor());//小黄
console.log(d1.sayName());//小黄28red

相关文章

  • es6-class类

    1. 类的基本用法 es5造类 es6造类 2. 类的继承 使用extends关键字

  • ES6-class

    javascript的语言传统方法是通过构造函数,定义并生成新的对象: function point(x,y){ ...

  • ES6-Class

    (参考自秒味课堂的视频讲解) Class 1.ES5中的原型 const Miaov = function ( )...

  • ES6-Class

    Class 的基本语法 ECMAScript 的原生构造函数大致有下面这些: Boolean() Number()...

  • ES6-class

    取值函数和存值函数; class MyClass{ constructon(){} get prop(){ ret...

  • ES6-class

  • ES6-class

    ES6提供了更接近传统语言的写法,引入了class(类)这个概念。新的class写法让对象原型的写法更加清晰、更像...

  • 9 【ES6-class】js类的导出与输入

    可能是我基础真的不太好吧,竟然在类的导出上卡了半天,真的说来惭愧。写下来自我反思吧... js类的导出是在类外输入...

  • ES6-class、extends、super

    ES6中 有了Class(类的概念),这使得原型、构造函数,继承等显得更加简单

  • es6-class的使用

    1\class的简介:ES6 的类,完全可以看作构造函数的另一种写法。 class Point {// ...} ...

网友评论

      本文标题:es6-class类

      本文链接:https://www.haomeiwen.com/subject/xspqyltx.html