gpt4 book ai didi

Javascript 类未捕获语法错误 : Unexpected token; Gender rendering

转载 作者:行者123 更新时间:2023-12-03 02:02:07 24 4
gpt4 key购买 nike

我正在尝试创建一个基于用户的性别类,它将根据用户性别呈现三个不同的选项;他/她,他/她,他/她。

我尝试使用类,但出现 Uncaught SyntaxError: Unexpected token

她是我的代码:变量性别中存储了一个包含用户 ID 及其性别的字典;例如 { 152: "M"}

gender = data.gender
var Gender = class{

constructor(val){
this.val = val
};
gend = gender[val];
if (gend === "M"){
hisher(){
return "his"
};
himher(){
return "him"
};
heshe(){
return "he"
};
} else {
hisher(){
return "her"
};
himher(){
return "her"
};
heshe(){
return "she"
};
};
};

最佳答案

您的分步代码(if/else 语句)不在任何方法或构造函数中。您的分步代码必须位于方法或构造函数中。 (另外:不要在构造函数声明之后放置 ;。)

可以在该if/else的每个分支中定义该类,但我认为我应该参数化该类:

class Gender{
constructor(val) {
this.val = val;
this.gender = gender[val];
}
hisher() {
return this.gender === "M" ? "his" : "her";
}
himher() {
return this.gender === "M" ? "him" : "her";
}
heshe() {
return this.gender === "M" ? "he" : "she";
}
}

或者您可以将条件移至构造函数中

class Gender {
constructor(val) {
this.val = val;
this._hisher = this.gender === "M" ? "his" : "her";
this._himher = this.gender === "M" ? "him" : "her";
this._heshe = this.gender === "M" ? "he" : "she";
this.gender = gender[val];
}
hisher() {
return this._hisher;
}
himher() {
return this._himher;
}
heshe() {
return this._heshe;
}
}

但是如果你真的想定义不同的类,那么:

let Gender;
if (gender[val] === "M") {
Gender = {
constructor(val) {
this.val = val;
}
hisher() {
return "his";
}
himher() {
return "him";
}
heshe() {
return "he";
}
};
} else {
Gender = class {
constructor(val) {
this.val = val;
}
hisher() {
return "her";
}
himher() {
return "her";
}
heshe() {
return "she";
}
};
}

关于Javascript 类未捕获语法错误 : Unexpected token; Gender rendering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com