Проблема PHP в том, что у него крайне низкий порог вхождения. Очень легко "начать программировать" и потому слишком много неучей (начиная с пресловутого Евгения Попова) паразитируют на нём - выпуская всяческие "курсы", "видеоуроки" и т. п. поток откровенно ламерского бреда, выдаваемый за "обучение программированию на PHP". А основная масса "критиков" оценивает не качества самого языка, а результат "творчества" жертв подобных "курсов". Проблема же JavaScript в том, что дизайн языка изначально содержит множество ошибок (в просторечии называемых "граблями"), бережно сохраняемых (ради мифической совместимости) во всех стандартах языка. Да, добавили let и const, но var никуда не дели... На JavaScript крайне сложно написать надёжный код - именно потому появились TypeScript, компиляторы статических языков в JavaScript и прочие костыли, маскирующие неустранимые (точнее, не устраняемые) недостатки JS. Кроме того, кол-во конструкций в языке в последних стандартах стремительно растёт - похоже, стандартизаторы задались целью обогнать C++. И если некоторое новые конструкции действительно полезны, то, например, добавление классов - это бессмысленное усложнение языка: очевидная подачка неучам, орущим, что они умеют только C++-подобное ООП и не желают учить прототипное наследование.