Вопрос по dynamic, weak-typing, strong-typing, static – Разница между сильной и статической типами и слабой и динамической типизацией

38

Из того, что я понимаю, динамическая типизация - это то же самое, что слабая типизация, а строгая типизация - это статическая типизация. Какая разница? Спасибо

возможный дубликатStatic/Dynamic vs Strong/Weak joran

Ваш Ответ

1   ответ
65
Static typing vs dynamic typing:

Static typing is when your type checking occurs at compile time. Вы должны определить тип для ваших переменных внутри вашего кода, и любые операции, которые вы выполняете над вашими данными, будут проверяться компилятором.

Динамическая типизация - это когда проверка типов происходит во время выполнения. Вместо ошибок, возникающих при компиляции кода, вы получите ошибки времени выполнения, если попытаетесь выполнить операции с несовместимыми типами. Тем не менее, вы получите преимущество от наличия более универсальных функций, так как они могут быть написаны один раз для нескольких типов данных.

Strong typing vs weak typing:

When you have strong typing, you will only be allowed operations on the data by direct manipulation of the objects of that data type.

Слабая типизация позволяет работать с данными, не учитывая их тип. Некоторые языки делают это с помощью указателей. Другие языки преобразуют один из ваших типов в другой перед выполнением операций.

Ссылки, которые я включил, имеют более подробные (и, возможно, более четкие) объяснения.

Похожие вопросы