为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript_Truthy 和 Falsy Assignment_codecademy

JavaScript_Truthy 和 Falsy Assignment_codecademy

波斯汪 2022-10-27 16:29:07
有人可以向我解释为什么这段代码不起作用吗?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中执行,并且很可能使用三元运算符,您现在不需要知道。


查看完整回答
反对 回复 2022-10-27
  • 1 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信