class和extend
参考:
1.阮一峰大佬的es6电子版,喜欢看书的可以买一本支持支持大佬
上代码
//先写一个人,有名字和年龄
class people{
constructor({name,age}){
this.age=age;
this.name=name;
}
//一个名字介绍的方法
say(){
console.log("你好,我叫"+this.name);
}
//对于set和get的简单小实例
//赋值的变量参数与set和get方法名不能一样,否则会形成无限回调
set name(value){
this._name=value;
}
get name(){
return this._name;
}
}
//定义一个男性,增加了性别和再见方法,
class man extends people{
constructor(arr){
super(arr);
this.gender=arr.gender;
}
bye(){
console.log("很开心见到你,再见");
}
//使用set对性别的输入进行的处理,
set gender(value){
let sex={
"男":"男",
"女":"女",
1:"男",
0:"女"
}
this._gender=sex[value];
}
//获取时,不输入或者错值导致的undefined,返回男性
get gender(){
return this._gender?this._gender:"男";
}
//新增性别介绍语句
say2(){
console.log("我是一个"+this.gender+"生");
}
}
//构建一个张三对象
let wjzhangsan = new man({
name:"张三",
age:22,
gender:3
});
//调用张三原型链上的方法
wjzhangsan.say();
wjzhangsan.say2();
wjzhangsan.bye();
返回结果