If you are set with Babel for ES2020 you should be able to write that as Meteor.user()?.emails?.[0]?.address
which is equal to Meteor.user() && Meteor.user().emails && Meteor.user().emails[0] && Meteor.user().emails[0].address
You can also write it like:
If you use Social Logins, you don’t have a emails object key in your user. What we normally do is to write the email on the Profile or somewhere so that regardless of the source of login, you avail of the email at the same location. Perhaps this is not your case.
Could you console.log(Meteor.user()) just to make sure that you can actually see the emails.
This looks like you are trying to access data before it’s been sent to the client. Meteor.user() relies on the user publication, and it can take a second after page load for the data to be sent to the client.
You should wrap that component wrapped in a withTracker and pass the user in as a prop, that way it will update when it receives the user data