с чего это "побочные эффекты" если всё это зафиксировано в спецификации ECMAScript? то есть всё по правилам, по странным, не очевидным, но правилам
тут "побочность" в смысле, что многие новички считают js очень простым языком с крайне низким порогом вхождения и из за этого потом круто обламываются. имхо начинать учиться программированию со строго типизированных языков гораздо проще и эффективнее.