The summary.
JAVASCRIPT IS THE ONLY LANGUAGE BROWSERS EXECUTE NATIVELY
Everything else compiles to it. Its reputation came from early design decisions, most of which modern versions addressed.
What remains is weak typing, which requires discipline: strict comparison, always.
ONE THREAD MEANS BLOCKING IT FREEZES EVERYTHING
Asynchronous code is for waiting, not for computation. Use workers for that.
Code after an asynchronous call runs before the result arrives — the commonest confusion for newcomers.
TYPESCRIPT ERASES ITS TYPES AT COMPILATION
It provides no runtime guarantee, so external data must still be validated. Enable strict checking, or many of the benefits are absent.
PHP RUNS ON ESSENTIALLY ALL SHARED HOSTING
Which is why it powers so much of the web, and why it remains the practical choice when shared hosting is the target.
Declare strict types, use prepared statements, escape output, and never suppress errors.
AVOID OLD PHP TUTORIALS
They teach unsafe practice that modern versions and frameworks have long since replaced.