Каковы плюсы свободной печати?

Говорят, что JavaScript - это "свободно типизированный" язык. Это связано с тем, что среда выполнения позволяет выполнять операции над операндами разных типов (посредством приведения):

var number = 6;
var bool = true;
var result = number + bool; //result is 7

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

1 ответ

Свободно типизированные языки имеют ряд отличий, которые можно принять за преимущества:

  • Там нет необходимости interfaces, Пока объект имеет имя нужного вам метода, вызывайте этот метод. Неиспользование интерфейсов может упростить кодирование и уменьшить размер кода.
  • Нет необходимости в дженериках по очень похожим причинам.
  • Перегрузки функции "по типу" обрабатываются проще. Если функции требуется строковый параметр, просто приведите входящее значение к строке. Если требуется проверка типа, ее можно добавить туда.
  • У нас нет или не нужно классов. [Почти] все является объектом, который значительно облегчает передачу значений. Нет необходимости в авто-боксе, не нужно приводить значения выходящие.
  • Объекты легко расширяются, не нарушая код. Вы можете создать массив, а затем заменить заменить indexOf метод использовать один использует бинарный поиск. Конечный результат меньше, и ИМХО, более чистый код.
Другие вопросы по тегам