ES6练习三

本文探讨了ES6中的类定义和继承。首先,我们创建了一个名为Person的类,包含name和age属性及say()方法。接着,我们讨论了类实例的__proto__属性和直接创建对象的区别。在错误分析部分,指出了super关键字必须置于this之前。此外,解释了静态方法的使用及其调用方式。我们还重构了Cat类,使其继承自Animal并添加了一个新的say()方法。最后,通过一系列代码实例分析了类的实例化过程,包括实例类型、属性访问和方法调用的规则。
摘要由CSDN通过智能技术生成

2020.12.9 15:23

1.编写程序使用ES6定义 Person类,包括类实例属性(name,age),实例方法say()该方法,返回name和age字符串

class Person{
   
	constructor(name,age){
   
		this.name=name;
		this.age=age;
	}
	say(){
   
		return `我的名字是:${
     this.name},我的年龄是:${
     this.age}`;
	}
}
let x=new Person('abc',20);
console.log(x.say());

在这里插入图片描述
2.下面程序执行结果为:

var p=new Person();
console.log(p.__proto__===Person.prototype);

undefined
分析:

  • 如果接1中的代码为true,实例对象的__proto__指向构造函数的prototype
  • 如果直接创建对象,会报错,Person is not defined

3.下面程序正确吗?错在哪里?如何改正?


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值