ES6——03(类)

目录

  • 类的创建与方法
  • 类的继承
  • 拓展-----模板字符串
  • 练习

类的创建与方法

语法
class Student{
}

构造方法

 //构造方法
        constructor(na,age){
            this.name=na;   //属性
            this.age=age;
            this.area="江西";
            console.log("Student构造方法...");
        }

普通方法

 //普通方法
        sayHi(){
            console.log("名字="+this.name);
            console.log("年龄="+this.age);
        }

静态方法

//静态方法
        static sa(){
            console.log("名字="+this.name);
            console.log("年龄="+this.age);
        }

getset方法

		get name(){
            console.log("正在取值");
            return this._name;   //防止递归所以不能直接return this.name;
        }
        set name(v){
            console.log("正在赋值");
            this._name=v;
        }

注意点:不能直接返回this.name会导致递归无限死循环

测试
	//new 对象
    let pk=new Student("碰磕",18);
    pk.sayHi();
    Student.sa();
    console.log(pk.name);

类的继承

//继承
    class Boy extends Student{
        constructor(na,age){
            super(na,age);//不写会报错
            console.log("男选手的构造方法");
        }
    }
是否继承成功√

打印父类的属性area

 	let boy1=new Boy("张三",11);
    console.log(boy1.area);//江西(继承成功)

模板字符串

用`(反引号)标识,用${}将变量括起来

实例
let name1='碰磕';
    let age=16;
    let t=`
        <div>
            <h3>名字=${name1}</h3>
            <p>年龄=${age}</p>    
        </div>
    `;
    console.log(t);
最终拼接成的字符串

在这里插入图片描述

练习

1、通过ES6语法创建学生类(姓名,性别,班级)和游戏类(名称,公司,发行年份),添加各自的构造方法。

//1
   class Students{
       constructor(xm,sex,ban){
            this.name=xm;
            this.sex=sex;
            this.ban=ban;
       }
   }
   class Game{
       constructor(mc,gs,time){
           this.mc=mc;
           this.gs=gs;
           this.time=time;
       }
   }

2、创建一个学生(姓名,性别,班级)数组,通过模板字符串拼接显示学生的所有信息(表格)

//2
let stumap=new Map();
   stumap.set("name","碰磕");
   stumap.set("sex","男");
   stumap.set("cls","c1901");
   for (const [key,val] of stumap) {
    let stuinfo=`<table border="1px"><tr><td>${val}</td></tr></table>`;
    console.log(stuinfo);
   }

在这里插入图片描述

3、创建一个游戏数组(名称,公司,发行年份),通过模板字符串拼接显示游戏的所有信息(无序列表)

//3
   let gamemap=new Map();
   gamemap.set("mc","王者荣耀");
   gamemap.set("gs","天美工作室");
   gamemap.set("time","2004-1-1");
   for (const [key,val] of gamemap) {
       let gameinfo=`<ul><li>${val}</li></ul>`;
       console.log(gameinfo);
   }

在这里插入图片描述

Es6类的练习就完结了
欢迎各位在评论区积极参与讨论练习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碰磕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值