На мой взгляд, самое адекватное определение для сильной/слабой - это насколько сильно/слабо выражены типы в языке, т.е. насколько много проверок этих типов существует при осуществлении операций. Если вы можете обратиться к переменной одного типа, как к переменной другого типа, и компилятор/интерпретатор на это никак не прореагирует - это слабая типизация
могу процитировать Вики:даже те кто написал это в википедии сходятся со мной в точки зрения, что нет единого определения сильной и слабой типизации, что это комплекс из всех остальных классификаций систем типов, конечно включая явную/неявную типизацию, но не только ее.Languages are often colloquially referred to as strongly typed or weakly typed. In fact, there is no universally accepted definition of what these terms mean. In general, there are more precise terms to represent the differences between type systems that lead people to call them "strong" or "weak".
Во-первых: если ключи у вас строки - используйте объект без прототипа (Не скажу за все движки, но в v8 (node, chromium-based браузеры) под капотом и у объекта и у Map одна и таже структура данных - OrderedHashTable, так что разницы никакойObject.create(null)
) вместоMap
- работа с ним на порядок быстрее.
Его используют, в основном, когда нужно получать upload progress. Всё остальное делают через fetch
Если я использую fetch, то я уже отказываюсь от всех пользователей IE
Ошибка в другом месте