请问这个this.age = 18;如何把set里else的语句替换掉?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
// 补充代码
class Age{
constructor(birthyear,age){
this._birthyear =birthyear;
this._age = age;
// this.age = 18;
}
get age(){
return `今年的年龄是${this._age}`;
}
set age(birthyear){
if(birthyear.length === 4){
this._age = new Date().getFullYear() - birthyear;
}else{
this._age = 18;
}
}
}
var XMage = new Age();
let birthyear = prompt("请输入出生年份");
XMage.age = birthyear;
document.write(XMage.age);
</script>
</body>
</html>1
收起
正在回答
2回答
你好同学,你描述的方式是不可以的, this.age = 18;是在constructor中为定义一个属性age并赋值为18,this._age = age;中的age与这个this.age并不是同一个age。所以你直接在 this._age 上面赋值为18即可,如下:

祝学习愉快 ,望采纳。
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星