In Javascript certain operators are processed before others:
1 + 2 * 3
// 1 + (2 * 3)
// 7 because * has higher precedence than +
1 === 0 + 1
// 1 === (0 + 1)
// true because + has a higher precedence than ===
The MDN has a full breakdown of all operators and their precedence ... except await
.
await getFoo() * 2; // await (getFoo() * 2) or (await getFoo()) * 2?
await getFoo() === 5; // await (getFoo() === 5) or (await getFoo()) === 5?
Can anyone explain which operators are processed before/after await?
Right now I feel like I have to add a bunch of parenthesis that are probably unnecessary because I'm not sure what will get handled before/after await
. And while I know I should just be able to look this up, even MDN (the gold standard of documentation IMHO) doesn't have the answer.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…