Frustrating amount of time spent on trying to use GetComponent<Text>()

Sorry, it’s been a month, and I initially wrote this largely out of frustration, but I’ll clarify why this bothered me enough to post.
In particular, I was looking at this part of the scripting API documentation: https://docs.unity3d.com/2018.4/Documentation/ScriptReference/UI.Text.html

The reason for this was because I was found through old Unity tutorials that the way to update text was through using this section. But there is no mention of TMP_Text or TextMeshPro which appear FIRST when you want to add text to a UI element. In order to use the component referred to by this document you need to specifically find the “Text” component under a legacy tab. Except I wanted to use TextMeshPro, because maybe I’d want some of the features it brings, and I figured it would be easy enough.

So I assumed naturally I should use something like:

GetComponent<TextMeshPro>()

Because hey that’s literally what it’s called in the inspector. And it didn’t work. So I searched, “TextMeshPro,” I actually found that document you linked. It didn’t mention TMP_Text. So, what am supposed to do?

It took me stumbling into this: https://discussions.unity.com/t/699157 and this: https://discussions.unity.com/t/862992 to realize my mistake.

I didn’t google TMP_Text as you said I could, because how was I supposed to know that’s what the component was called if it appears as “TextMeshPro - Text (UI)” in the inspector, and after looking up “TextMeshPro” and finding no hint of the name of its text box?

If Unity is going to hide legacy components to push you to new ones, or offer support for these new ways of displaying text or other features, I’d like a hint at least in the documentation, or at least it be searchable in the main site labeled “Unity Documentation?” I really didn’t like how I had to scramble into official document into another and not find a whiff that it had a specific unexpected name so I could write one line of code. That was my complaint.