javascript - Jak rozložit proměnnou v Typescriptu s proměnnou stejného názvu z vnějšího rozsahu?
Chci použít název proměnné username a nevím, jak to udělat v následujícím kódu:
myFunction = async (email: string, password?: string): Promise<boolean> => {
let username
if (password) {
{ username } = await this.getUsernameAndDate(email, password)
} else {
username = await this.getUsernameByEmail({ email })
}
return this.sendUsername({ username })
}
Můj linter hlásí, že { username } není použit:
nepoužitý výraz, očekáváno přiřazení nebo volání funkce (no-unused-expression)tslint(1)
Existuje správný způsob, jak to udělat, pokud chci všude používat pouze username?
Odpověď č. 1
Musíte dát destrukturalizaci do závorek:
({ username } = await this.getUsernameAndDate(email, password));
To platí i pro JS. Pokud byste při destrukturalizaci deklarovali (pomocí let, const atd.), nemuseli byste používat závorky.
Více podrobností
