波斯汪
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中執行,并且很可能使用三元運算符,您現在不需要知道。
添加回答
舉報
0/150
提交
取消