有人可以向我解释为什么这段代码不起作用吗?let defaultName;if (username) { defaultName = username;} else { defaultName = 'Stranger';}它在 Codecademy,JS 部分用作示例。出现说明用户名未定义的错误。谢谢你。
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
您正在尝试将“用户名”分配给“默认名称”,但您从未声明过“用户名”。这可能看起来有点有趣,但在 JS 中,您将右侧的值分配给左侧的变量,因此在您的代码中:
let defaultName;
if (username) {
defaultName = username;
...
这部分有问题,因为您告诉程序将“defaultName”设置为“username”,而该用户名不存在。
要简单地运行此代码,您必须像这样初始化“用户名”变量:
let username = 'John';
let defaultName;
if (username) {
defaultName = username;
} else {
defaultName = 'Stranger';
}
这既乏味又毫无意义,因为在真正的应用程序中,您会从表单、数据库或授权中获取用户名,这可能是真实的:
...
const user = this.props.auth.user;
let defaultName;
if (user) {
defaultName = user.username;
} else {
defaultName = 'Stranger';
}
...
这将在React中执行,并且很可能使用三元运算符,您现在不需要知道。
添加回答
举报
0/150
提交
取消